Not sure that there is one "best way" for everyone. IF you have access to a Charles Schwab or Fidelity account, with no ATM fees, that is probably the best way, with the best exchange rate and lowest cost. You only need to be careful which ATMs you use on Cozumel. If you don't have access to one of those, then a Bank debit card or ATM Card might be your next best option, although banks vary on just how close to the official exchange rate they are; I've seen Bank of America pay some ridiculously bad exchange rates. Again, take care which ATMs you use. Using a Credit Card usually results in the charging of cash advance fees plus ATM fees, so that's usually a poor choice. If you brought cash, U.S. currency, the Mexican Banks offer the best exchange rate, and they don't charge a fee - they make their money from the discount to the official rate which they pay. The downsides are: (a) you probably won't get as good an exchange rate as the big discount brokers offer, though better than most Bank debit cards; (b) you MUST bring your Passport with you for the exchange, and can only exchange a limited amount (it used to be $500 U.S. maximum per trip; I THINK it is now limited to a total of $1500 U.S. per month); and (c) you can only exchange during banking hours. Exchanging cash at a Cambio - a currency exchange booth - is more convenient, but won't get you as good an exchange rate as the banks. But it's usually not bad, so the convenience is well worth the fewer Pesos you get.
I'm with the other posters here -I don't worry about having a few extra Pesos at the end of a trip, since I know (believe?) that I'll be back. Pretty certain I have about 230 Pesos in my Dive Wallet right now. Enough to get me a ticket on the shuttle if I fly into Cozumel, or an ADO Bus ticket and maybe a Ferry ride if I do the Bag Drag.