Yo creo que podrías usar algun sistema de plantillas como
Smarty para PHP o cualquier otro.
Y crearía una tabla con los templates disponibles en tu sitio y permisos.
Así podrías permitir que los usuarios creasen sus propios templates e incluso que los compartieran con otros usuarios.
Usando plantilas y la BD puedes generar los estilos dinámicamente , y si esto supone una carga muy grande para la base de datos podrías meter un script que una vez modificado un template generase el estilo dinámicamente y te lo guardase en un directorio de templates.
Suerte!