The best snorkeling is around 2 tiny island just off Sunrise Beach: Koh Kra (in front of the school) and Koh Usen (in front of Idyllic Resort). Sunrise Beach is shallow until you reach the small islands where there is a big drop off. Because of the deeper water surrounding the two small islands you will be able to see a large variety of marine life. In general there is great snorkeling everywhere on Sunrise Beach. At low tide the best place to snorkel will be on the far north side of Sunrise Beach (in front of Mountain Resort). Here the water never gets really shallow and you will find some great snorkeling even in low tide.
The best time to go is at high tide, as the coral can be very shallow. It's also advisable to wear fins because the currents can be quite strong.
There are several places on Sunrise Beach where you can rent mask and fins for price around 50 THB per part.
Sunset beach is not known as the best bathing beach on Koh Lipe, but it does offers some great snorkeling all around. On the left side of Sunset Beach (when facing the water) you will see the beach turn into a steep cliff and here you will find some amazing snorkeling.
The best time to go at high tide as the coral is very shallow and starts right of the beach. It is also recommended to wear fins as there can be some current in this area.
The best snorkeling on Pattaya Beach is found in each end of the beach. Here you will find a more rocky terrain that makes a better living ground for the coral. If you go out from the most northern end of Pattaya Beach (In front of Site Resort) and follow the rocky shore on your right, then you will end up at a small beach called Zanom Beach. Here you will also be able to find some amazing snorkeling right of the beach. The middle of the Pattaya Beach has good snorkeling too, but you need to go quite far out.
Be care full of the boats on Pattaya Beach. When ferries arrive and depart it can get quite busy in the bay.