We consider ourselves pretty good tippers, and they deserve everything they get. As far as dollars vs pesos, there is a good reason they prefer dollars. People associate 20 pesos as a 2 dollar tip, 50 pesos as a 5 dollar tip, etc... But that is simply not the case. Right now, 20 pesos is $1.27 US, 50 pesos is $3.19 US. If the Mexican Peso was stronger against the US dollar, you can be sure they would prefer to be tipped in Pesos. As far as some of them not accepting Pesos, you will never see that happen. Tip more than you think you should, you won't regret it. We have never left the resort saying "We might have tipped them too much".
We are from Canada (Calgary specifically) and a lot of the malls have currency exchange places so we just get pesos there, they even have a lot of small bills for tips. Better exchange than US and the staff can pay for rent and groceries without having to exchange them. We usually leave 50 pesos for the maids each day 50-100 in drink tips in the day and probably the same or a bit mnore at night in Paty'o's. 50 or 100 at supper depending on how good the waiter is. We also leave 20 or 50 at the buffet depending on how attentive the wait staff is. So usually 50 as they are always great. I prefer pesos for anything from the gift shop as that way I don't need to do math when I'm drunk lol 20's and 50's are also waterproof so that's good We do bring US for USA Transfers and the Boobs Cruise.
FYI - USA Transfers happily accepts CAD at par with US$ (yes we've done it - lol) although we do tip the greeter and driver with Pesos