We did this a few years back with our kids. We live in KY and our trip was also 3 weeks. We went to Mt Rushmore, Devils Tower, Custer Battlefield, Cody Wyoming, Yellowstone NP, Salt lake City, Bryce NP, Zion NP, Grand Canyon, Las Vegas, Mesa Verde and then home. I can tell you that to do all that in 3 weeks there will be several very long driving days. I am talking 10-12 hours and on this trip we were in a car and not pulling a camper. You would see a lot but not spend much time in any one place. I think the longest stay we had was in Yellowstone for 3 nights. Everyone is different but if we would eliminate parts of the trip it would have been the Grand Canyon and Las Vegas. We have been back to Yellowstone several times since and I can tell you that if you can get there Cody Wyoming you will want to go to the Cody Night Rodeo. Great show.