For elevation I'd go with a Garmin GPSMAP 60CSx.  It has a sensitive receiver which allows it to receive and use more satellites in order to do the math.  It also has a barometric altimeter, but +/- 3-6 feet though is well within tolerance of even the best.  
_________________________
Better is the Enemy of Good Enough.  
Okay, what’s your point??