What are you calling custom changes ? New templates ? programs ? leads ? Lead activities ?
Your questions is so broad that it's hard to answer.
You may find some elements here : Management of instances
We have created a webhook and smart Campaign.
Based on some data change trigger we are calling our webhook. How can we ship these things to the end user. Is there any way or we need to do it manually in the end user environment.
We have done the same thing for MS CRM Dynamics and they have a capability to create a bundle which contain all custom changes and can shipped to the end user. User need to import that bundle to its environment.
You will need to recreate the webhook manually, I am afraid. Once this is done, you can transport programs, once the 2 instances are connected (follow the link I provided you earlier to see how to ask Support to do this). So you will need to move your smart campaign toi a program and you will be able to move the program with the smart campaign.
I have never tried to do it with a smart campaign calling a webhook, so I would be interested to hear from you, whether it worked or not