S.F.
You can be assured that he will do excellent with the snorkeling if he is already such a great swimmer. Get him the set and have him practice in the bathtub. If you can take him to a pool to practice a little, that will help too. We took our kids to Hawaii this summer and our 6 year old loved the snorkeling. He is not half as good a swimmer as your child and the interest in the snorkeling got him to do much more swimming and exploration than we imagined.
I'm not a doctor but as far as the ears, I really don't think that it will matter to wait or not wait. If he dreads the trip, it is probably best to get him interested in the snorkeling in the first part of the trip. If he really takes to it, then he'll have time to go again.