Con PHP yo lo haría así.
<?php
if (@ isset ($GET['theme']))
define ('theme', $GET['theme']);
elseif (@ isset ($SESSION['theme']))
define ('theme', $SESSION['theme']);
else
define ('theme', 'default');
// print '<link rel="stylesheet" type="text/css" href="' . theme . '/style.css" />';
?>
Y si es solamente una hoja de estilos lo que quieres cambiar sería hacer un include a lo de arriba (con el print descomentado) y ya, si también son cosas como imágenes, yo haría un print eh cada href o src del documento, por ejemplo.
...
<link rel="stylesheet" href="<?=theme;?>/style.css" />
/logo.png" />
Y bueno, creo que sobra decirlo, theme es una carpeta dentro del servidor.