I am really wondering what the disadvantages are when using a Visual Web Part. All the books and articles on the internet only talk about the pros. But I am sure the are some disadvantages, beside the fact that you can't use them in sandboxed solutions (I am already aware of the PowerToys extensions that allows Visual Web Parts in sandboxed solutions).
There are plenty of disadvantages with Visual Web Parts, here's some:
- Requires extra plumbing for Web Part Properties - from the Web Part to the User Control
- Often gives you an overhead of objects/controls - since you rely on the designer. If you manually build your control tree you often minimize the number of used server side controls, which gives you a lesser memory footprint
- You cannot inherit your VWP from the SharePoint Web Part implementation (you should not do that unless necessary, so it's not a major issue)
- I find them harder to maintain (personal opinion, probably because I'm used to the traditional ones)
Your web part may be unsuited to a template-based, declarative approach.