It depends where you go. In the main Yucatan resorts around Cancun there are so many US tourists that most shops not only accept USD, they also PRICE everything in USD (but will accept Pesos, of course, and convert back to the Peso equivalent on the spot). No point trying that in Mexico City in my experience. You can get Pesos from the ATMs, using your British bank card, much the same as everywhere else. I see no point in taking Sterling with you.