The absolute best snorkeling would be off El Anclote Beach at Punta Mita. Take a taxi there and then negotiate with one of the panga operators for a trip to the islands that lie just off shore. I guarantee you that you will remember it forever.