I have done the TL snorkeling several times. The best time to do it is early in the morning, when you first get there. That way, you don't have any sunscreen on to harm the fish. Also, it is less crowded and you can swim SLOWLY across the fish areas. During the afternoon it gets crowded and you get "herded" forward.
The water is a bit cold, but you get used to it quickly. There are lots of neat looking fish and it's a good way to try snorkeling without paying for an excursion.