The posts above have some great advice. It is definitely cheaper to fly into Vegas and rent a car there. Having three weeks helps as a day lost in travel really doesn't hurt since you have so much time. I have made that trip multiple times and the drive is easy and will put you at the South Rim mid-afternoon if you get an early start.
In a week I will be making the drive out of Vegas to Zion, on to Page, and around the eastern side of the canyon to the South Rim. I will be stopping in each for several days. I will report back to you complete with travel times, route info, and any special details I think you would like to know.
In the winter your travel time will be slightly longer. Last year in January there were many sections that were closed down to one lane due to snow and ice on the roads. There will most likely be several feet of snow when you are traveling but as long as you take this into consideration there should not be any surprises.
In Jan there was several feet of snow (3-4ft) on the Rim but was relatively nice in the canyon. The temperature was around 20 degrees with a wind chill of 10-15. The wind was howling so bring a bomber tent. Also, snow shoes and micro spikes would be a wise choice. We also spent time in Bryce - I highly recommend it. It was cooler in Bryce (10-15 degrees) with a wind chill of 5 in the canyon. It is just hours away from Zion but one of the most scenic hikes I have ever done.
What hikes are you looking into in Zion, GC, and CR?