I've been to Riviera Maya (El Dorado Royale) and Puerto Vallarta (NOW Amber Resorts and Spa). Both were really nice, but the resort at Puerto Vallarta had much better views of the Ocean. Also, really liked the more mountainous nature of PV over RM. Cancun and surrounding area seems like an easier flight time from Midwest.
We are headed to Cancun (Liva Aqua) in June for 5 days. In my opinion it is best to go for minimum 5 nights but not longer than 7.
In terms of booking, I have used BookIt, Expedia, and will now be using Southwest Vacations for Cancun (so we will see how that goes). Both travel sites I've used were pleasant. Also, you can usually reserve your transportation cheaper if you do it separately from the booking sites. I like to do mine in advance online with a reputable agency at the destination.
Live Aqua is very nice, stayed there last year. Good food, good staff, quality alcohol. You'll have a good time.