As stated, I'm new to Telligent development, but I'm stunned by the speed, amount and quality of the responses! Thanks a lot.
Wat we need to archieve is a 'platform', meaning we will have several communities with the same look and feel. So the same widgets on the same place. The only difference should be the stylesheet en our site owners shouldn't be to free to change a lot (in terms of: focus on the content, not on the look and feel).
So the portability of the 'widget-studio' way seems to be the way to go, but I don't want that anybody can change widgets via the widget studio. Changes should be done via our team and all need to be done in Source Control.
For now we extended the 'widget to source control' way, which Adam pointed out. The extension is we strip out the 'body' of all widget XML to create a 'contentScript.html' file, headerScript.html, configuration.xml. With the initialization we will load all widget XML from disk, add the files to the proper way, and 'install' them in Telligent.
This way we have a widget contains of several files, which all have the proper type. So we have Syntax Highlighting and all the good things Visual Studio provides us and hence all under TFS Sourc Control (instead of working within a 'CDATA" block for 1 XML file). We keep the widgets as thin as possible (thanks Dan), the same way we should treat a normal ASCX. The onlyl velocity I foresee is a 'foreach' for repeater kind of stuff. All other things we will do from C# code, so we have all the debugging stuff.
We currently don't support additional CSS/JS files etc which should be placed within the filestorage. But in our case I would like to get rid of them anyway, because I would like 1 main site CSS and JS file. This for maintenance reasons and it's also a big win for client performance.
Via TFS we can automaticly deploy to our Development environment and stage it for automatic deploying to test, acceptance and production. So the automatic import of the widget XML's comes in fine here!
So we've settled for the widget way, because it seems to be the most preferable and future proof way! We now are going to do the same trick for the theming, so for the most part we decide which widgets are in what place. Site owners should only have limited placeholders for customiziation.