GPS requires at least four satellites to obtain any type of elevation accuracy and this accuracy with dedicated consumer grade GPS devices is not that great. Now, the GPS in a phone is not dedicated to only GPS and therefore, the elevation accuracy is probably around +/- 100 feet.
Also, I have no idea how many channels most smart phone have, and the more the more accurate the system (more satellites mean greater accuracy). And, do smart phones use differential GPS? I don't know and can't find that out either. I do know some are WAAS compatible.
However, the problem sounds more like a mapping problem than an actual GPS problem. Software receives the GPS info, but it relies on the map programming to tell it that a road goes over, under or through an intersection.
I have seen some strange things happen on my Pioneer AVIC, which is more of a designed Navigation system than a smart phone.
I'm not saying it could not be the GPS inside the phone, but I would blame the Maping software program first.