I would go with option 4:
A simple SQL statement (UPDATE {$wpdb->posts} SET post_type="testimonial" WHERE post_type="post" AND post_status="publish"
or something like that) to move the current “blog posts” testimonials to their own custom post type. You could also use a plugin to do this.
Then use the blog (the “post” post type) as you normally would.