I use
mapmyride.com. It works well enough for me, although I do have some qualms with it. When calculating elevation, for instance, it uses arbitrarily chosen points a fairly significant distance away from each other, rather than the constant stream of data you have coming from a GPS. Consequentially, the elevation data is often significantly off from the actual climb. This being said, I haven't found a site that does a better job of it without GPS data. I don't ride with GPS and thus have no knowledge of how well it integrates that data. Mapmyride doesn't let free members print maps, but it does allow the printing of cue sheets, and more functionality is added if you decide to pay.
I'm sure if you tell what GPS unit you are using, people who have experience with it will chime in with what works best for them. There may be a better free third party software package out there than what you are using at the moment.