Three weeks seems like a good amount of time for the stops you've listed.
The budget really depends on where you stay and what you like to do. There's a big price difference between a 4-star hotel in Paris and a hostel! And of course you're visiting 3 of the most expensive cities in Europe.
If you're diligent in searching for hotel/hostel deals, finding good coach airfare, and saving some money by staying with friends, I think you'll be very comfortable with $5000.
The one thing I'd recommend is DON'T try to cut corners on your budget by staying at hotels outside the cities' main areas. Sure, you'll get a better price staying by the airport, but you'll almost certainly regret not staying where all the action is.
As you do your planning, if you have specific questions on cost trade-offs, where to stay in a city, etc., post them here and we'll be glad to help.