Switching theme only changes style sheet being used

Take a look at my answer here:

Switch Theme Through Options Panel

The code is as follows:

add_action( 'setup_theme', 'switch_user_theme' );
function switch_user_theme() {
    if ( in_array( wp_get_current_user()->ID, array( 5 ) ) ) {
         $user_theme="fezforprez";
         add_filter( 'template', create_function( '$t', 'return "' . $user_theme . '";' ) );
         add_filter( 'stylesheet', create_function( '$s', 'return "' . $user_theme . '";' ) );
    }
}

You have to swap the template and stylesheet on the setup_theme action.