I go to Bucerias for months at a time and I just use pesos from ATM's when I'm spending cash. (I only bring about $100 USD with me and that's so I'll have some money when I get back to O'Hare.) Since I get airline mileage points, I try to use my credit card whenever I can, but credit cards are not widely accepted in restaurants and shops. Usually just in the higher-end places.
Since the U.S. Dollar is the currency of the drug trade, Mexican banks are making a strong effort to get out of the money-laundering business. (I find it hard to believe that drug lords or dealers would bother to buy American traveler's checks, but that's what the banks are doing, at least right now.)
You can minimize the bank charges at the ATM by always taking out the maximum amount of pesos that you can. No matter how much you withdraw, the bank charge will be the same.
For those who will be on extended trips in Mexico, check with your bank at home to see if they have an agreement with any banks in Mexico. If they do, your ATM transactions will be free. (My ATM card is with the Bank of America and I get free transactions at Scotiabank and Santander ATM's. HSBC has machines in Mexico, too.)