Theming in Community Server with Chameleon is centered around regular ASPX pages instead of hundreds of skin files as in Community Server 2.1 and earlier. This makes it easy to find which files to edit if you want to make a theme change, but unfortunately this makes some of the theme pages quite large.
There is a way to get the best of both worlds. All of the new Chameleon controls support inline templates which allow you to control (and override) markup and child controls used. They also allow you to take the inline markup (and child controls) and move them to an external UserControl file.
So here is a quick summary:
As an added bonus, you can also optionally add properties to your new UserControls which may help reuse them in other places or simply add a little extra functionality.