If it is just copying the objects why don't you create a microflow that does the following:
- retrieve all the templateproducts to copy
- loop over these templateproducts in a loop activity.
- per looped item create a new CustomizedProduct, and copy all attribute values
- also set the association CustomizedProduct_Customer to the customer that gets ownership
- make sure to add the new customizedproducts to a list that you then commit in a commit event outside of the loop.
That's it, if you don't want to manually copy all attributes you can use the copyAttributes function in the CommunityCommons appstore module.