Welcome aboard the RoadTrip America Forums!
In general, three weeks is enough for a Grand Tour of the United States, back and forth across the continent all the way from the Atlantic to the Pacific and back, hitting all the places you've listed, Except...
Three words jumped out at me from your description: "a few friends". If this were just you and your girlfriend I would offer nothing but encouragement, but 4-5 people crammed into a small wagon for three weeks is a recipe for disaster. There will be inevitable personality, scheduling, dietary, musical, sleeping, etc., etc., etc. conflicts - and nowhere to go to get away from them. Understand that I know you all think that you are the best of friends and that either such problems would never come up or you could work them out. But I can pretty much guarantee (and would bet serious money) that you will return from this trip and not speak to one another for at least a week or two. If you really want a trip that involves all these people, then scale it back to fit within your budget (and last no more than a week) and allow lots of alone time for everybody - time spent well away from the car. If the length of the trip is more important, then you should jettison the "few friends" and just hit the road with your girlfriend, saving up for as long as you need to so that you can make the trip on your own without the "paying passengers".
AZBuck