I usually include a "do-it-yourself" theme design page in my perl web-applications.
On this page the user can choose the colors, by clicking on a color sample, and fonts of the menus, table headers,
table data, or whatever I choose to be user setable.
I store the settings in a cookie which I read and apply when they load a page.
I guess that isn't really what this quest is all about, but it saves me a lot of job and the users
will benefit (or face the concequences) of their personal taste.