Snorkling/ diving is best in sharm, Hurghuda is nice but too crowded for me, I'd rather either go to gouna or to sharm.
The best location for diving is Marsa Alam though.