Update late 2013: this is not in place throughout Mexico. Exchanging more than $400 in a day is extremely difficult and most banks won’t even touch foreign exchange. You must go to an exchange booth at the airport or in a big city. Use the ATM!
In an attempt to make things more difficult for money launderers in Mexico, the government has also made things much more difficult for tourists. In a development that I just found out about via this USA Today article, tourists in Cancun and the Riviera Maya must now pay in pesos for any purchase over $100 that is paid in cash.
In addition, there’s a stipulation that you can’t change more than $1,500 from dollars into pesos in any month. Don’t ask me how they would monitor that, especially if you use different banks/exchange booths, but that’s what it says.
Obviously this is going to be a major pain, especially for cruise ship passengers and people staying in off-the-grid locations like Tulum where credit cards aren’t even accepted. Basically, your strategy needs to be to hit the ATM machine upon arrival for your cash and then use a debit or credit card instead of cash when buying jewelry or other souvenirs that are more than $100. Use plastic for big meals with a group.
Don’t forget, all credit cards are not created equal. Here’s a good article on the best ones and worst ones out there. You could pay 0% in extra fees or 3% depending on which one you’re packing. I use my American Express Platinum card in the U.S., but it’s Capital One only when traveling abroad.
Plus I have to say I strongly disagree with this statement from the article: “U.S. travelers should purchase pesos before they arrive in Mexico ‘to minimize any inconvenience the exchange cap at banks may cause.’” I’ve never seen a Mexican airport without an ATM machine (or 5). Just get the cash after arrival; otherwise you’ll get a horrible exchange rate by doing it from home.