I've coded the ability for a member to choose a skin name, and it changes the buttons, colour scheme and template if needed.
Come on, it's not that hard. Create a new field in the members table, skin. Then change profile.php to get the current skin, existing skins and to change the skin. Then change any references to buttons to incorporate the user's selected skin, by loading the skin variable and globalising it. The colour scheme is done by linking to a CSS file in the skin directory. The template is also in the skin directory and the include for that is slightly changed.
I don't see what's hard