I think best is you take a cab in Santiago to the bus station of Caribe Tours or Transporte Cibao and drive with the bus to Sosua. From there you can take another taxi or taxi publico to Cabarete.
Bus ride from Santiago to Sosua is about 1 hr, taxi drive from Sosua to Cabarete is 10 to 15 min.
The beach in Cabarete is very nice, but to snorkel I prefer Sosua beach. There is a nice reef and beautiful lots of fish. You don't need to take a tour to snorkel, just go to Sosua beach and swim about 100m out. If you don't have your own snorkel you can rent the equipment directly on the beach there very cheap.
Tip: if you go snorkeling take some bread or old bananas with you! the fish love it and they will eat out of your hand!
Please don't touch the reef or even stand on it, like unfortunately some do.
We work in Sosua. When the weather is fine and when it's not too cold for us locals (no, we don't go into the ocean in the 'winter'), we take instead of a lunch break a short 'snorkel break', which is always great.
Drop me a PM when you get here. You are welcome to join us and I can show you where the nicest fish are (but they are not difficult to find by yourself).
Have a nice vacation.
quaqualita