Generally speaking the service charge from your bank will be less than the expense of buying pesos from a booth or on the street. Bank of America has an even agreement with Santandar, Scotiabank is in Mexico too. No charges at all with those two.

If you are only planning to spend a small amount ($100 - $300) who cares, you are on vacation! Dollars spend very well in Cancun.