Sedona itself is overcrowded with tourists and traffic and the shops are all New Agey and ridiculously overpriced but the surrounding area is beautiful to visit. I've seen many people recommend a State Park near Cottonwood to camp at and then drive the toad for sightseeing around Sedona. When I drive up to Flagstaff, I like to go back home by way of Oak Creek Canyon despite the heavy traffic.
Although I've yet to try them, friends of mine recommend the Pink Jeep Tours. I have no issue with letting someone else do the driving.
There is a great little Mexican food restaurant in Sedona in Hillside shopping center on AZ 179 (heading back toward I-17, it will be on the left) called Javelina Cantina. They get a fair amount of business but I've never had a problem getting a table there, the food and service is excellent, and the prices are reasonable. Stay away from Oaxaca Grill in Sedona. The food is ok but the tables are crowded together, the service is less than stellar, and the prices are astronomical.
December weather is varied. Sedona rarely gets snow anymore but, when it does, it is beautiful up on top of the red rocks and the rim. I rarely lasts through the morning on the ground when it does reach the ground.
Seeing the Grand Canyon as a day trip from Sedona may be a bit ambitious and snow definitely can be an issue. There is a steam powered train that runs from Williams up on I-40 to the Grand Canyon and you can make arrangements to spend the night at a hotel at the Canyon, then return by train to Williams the next day. Williams doesn't get as much snow as Flagstaff.
Sedona itself is an over glorified tourist trap now but the surrounding area is well worth visiting. I live down in the Phoenix area so it makes for a nice day trip. Before I became too old and decrepit, I used to do a lot of day hikes and mountain climbing in the area.