So, I buy into the idea of GenericSetup, but I’m finding the transition to using it for my site customizations rather painful. In part, this is due to the fact that most of the relevant documentation on plone.org is a bit old and thin. It seems that the best bet for a quick start is to use the generator script that ships with DIYPloneStyle. There is still a certain amount of guessing or trial and error, but at least the configuration file comments are helpful. You can also find examples in the CMFPlone package.
My Plone site goes back to Plone 2.0.5, so I went though the painful transition to Archetypes-based content types. That change was mandatory to get to Plone 2.1+, and now I’m seeing the writing on the wall in Plone 3 with GenericSetup and Zope 3 technologies. While I worried in a previous post that this change was adding complexity that would make customizing Plone more difficult for the casual developer, I also recognize that the new approach provides a level of modularity across the site that was not possible with TTW customization alone. But since I was fairly heavily invested in the TTW approach, I am now having to untangle all the little things that were added or changed in various places, from site properties to actions and workflow.