I do it the easy way. I get my pesos at Wells Fargo for no transaction fee. They don't charge fees if they have the currency you want in their vault, i.e., Pesos, Euros, Pounds. I would never try an ATM transaction anywhere outside the U.S. IMO, it's not worth taking the risk of a scam or the fact that very little of the transaction is in English, so it's confusing. Plus, who wants to hunt down money on vacation? I'd rather spend that time with a cocktail in my hand.
The fees can add up getting your money outside the U.S. You need to find out how much your debit bank card charges for the foreign transaction fee. It's usually 2-4%. Then you'll have two ATM fees, one from your bank at home for using an out-of-network ATM and one from the bank's ATM machine you're standing at. It varies, but could be an unpleasant amount when it's all done.
If you have extra Pesos at the end of your trip, you can spend them in the airport to buy your lunch or bottled water or give them to a local Mexican citizen and make their day. If you do bring them home, then you have a few to start your next trip. Wells Fargo will also buy them back (not coins, just bills) at a lower buyback rate but it's nominal.
I always take USD, Pesos, and credit cards (Visa & Mastercard, no Am Ex or Discover)...lots of redundant back-up money. Check with your bank if they charge a foreign transaction fee for credit card use.