I can't imagine anybody would charge your $25 USD from marina to town. Most likely, $9-12, but the drivers can make up whatever exchange rate they like. My usual plan is to take the shuttle to my hotel as soon as I arrive (hopefully paid with pesos leftover from last time I was there), get checked in, then immediately head for an ATM to get cash for the week, followed by a trip to a groceria or Mega to get water, snacks, and fruit (I can't get enough mexican bananas) to keep in the hotel room. Then pay everything in cash all week and make sure that I have exact change for the taxi rides to and from FONATUR.
You have to be careful about using your credit card on the island, not just because of it getting compromised, but because some restaurants will use it as a way to rip you off. Most restaurants post an exchange rate that is much more favorable to them, like 17:1 when the real rate is 19.5:1, which is fair considering that USD is not their currency and it's a bit of an inconvenience to them. But they will then apply that exchange rate before running your card in USD instead of pesos, so instead of paying 210 pesos for your lunch, or about $10.75, you end up paying $12.35. It's rare and you can usually avoid it by telling them to run the card in pesos ("Cobrala en pesos, por favor."), but it's better to just avoid both potential problems and pay cash.
Thanks, great info! Totally true re the credit cards (and now some places (like Grand Cayman) refuse to take your card and run it in local currency, instead using an artificially high exchange rate in dollars).
Also, actually, the 25 was from the El Pres into town. That still wrong? And btw where are you staying??