Theme change only in CSS and a few images

I would create a Theme Option for Color Scheme, then split out the color-scheme-specific CSS declarations into separate CSS files (e.g. blue.css, green.css, red.css, etc.).

Then, you simply enqueue the appropriate color-schme stylesheet, based on the Theme Option.

e.g.:

function mytheme_enqueue_color_scheme_stylesheet() {
    $theme_options = get_option( 'theme_mytheme_options' );
    $colorscheme = $theme_options['color_scheme'];
    $stylesheet = $colorscheme . '.css';
    $stylesheetsrc = get_template_directory_uri() . '/css/' . $stylesheet;
    wp_enqueue_style( 'colorscheme', $stylesheetsrc );
}
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_color_scheme_stylesheet' );