I measured a 6 mile course a few weeks ago, one where you run past the finish line about 1/4 mile after the start. Topo USA showed the finish to be about 10 feet lower than the start, although it was obvious that the finish was higher than the start. I used the Topo USA data for the start, then estimated the finish elevation from that.
I have an old Garmin GPS 3 that shows altitude, but it sometimes changes +/- 75 feet when it's stationary. I'd rather depend on Topo USA and make adjustments when necessary.