pac pcf push: To be use only for quick deploy to DEV for completing unit testing of your control. Once unit testing is complete, add the control to your “PCF Custom Controls” project (unmanaged) and delete the solution that got created using pac pcf push command; it would look something like “PowerAppsTools_[prefix]”
Unmanaged: Recommended is to use this in DEV instance only. I normally create a separate solution that contains all my custom controls and I call it as “PCF Custom Controls”. After I deploy and test my control, I add it to this solution so I can deploy it to other environments.
Note: prefix of both the solution; PowerAppsTools & PCF Custom Controls must be same.
Managed: All other environments like UAT, Pre-Prod, Prod will have managed solution. When I export the solution from DEV I always export them as managed and import them in all other environments.
In your case it feels like you are developing the control for Canvas app and you are in the dev cycle where you want to update, deploy & test. I would recommend using pac pcf push until your control is ready. Once you think your control is ready then add it to your desired Solution with the same prefix you used in your pac pcf push. Delete the temporary PowerApps solution. To deploy it from DEV to other environments using the traditional export/import feature.
Hope this clarifies things a little better.