Which method is faster to get a single post?

You could use WP_Query or get_post(), they are both fine.

Have a look at this to learn why you should NOT use query_posts() and how the other two affect variables etc.: When should you use WP_Query vs query_posts() vs get_posts()?