Can’t switch theme after activation

It seems that you are executing updateTheme() in every page load. To execute tasks only on activation you should hooke the updateTheme() function to the register_activation_hook action hook:

register_activation_hook( __FILE__, 'activation_callback' );
function activation_callback() {
     //The code inside this function is executed only on plugin activation
     $theme="twentyeleven"; //SET the value of $theme to whatever you want (not provided in the question)
     updateTheme($theme);
}

// Switch Theme
function updateTheme($theme){
    update_option('template', $theme);
    update_option('stylesheet', $theme);
    update_option('current_theme', $theme);
}