Part of the problem with the accuracy may be the quality of GPS satellite coverage in your area.
GPS works by calculating your position based on timing how long it takes the signal to travel from GPS satellites to the receiver. The more satellites spread out through the sky, the better the calculation will be. If the satellites are grouped in one part of the sky at that time, the accuracy will suffer.
Some areas of the country have periods throughout the day where the satellite coverage is less than optimal. Combined with if a satellite in the GPS constellation goes down, that can pose problems as well.
I have found the iPhone GPS precision is good but not great. Sometimes it shows me on a frontage road when I am on an interstate but overall its not too bad.
I am actually using my iPhone GPS collect coordinates of devices I am responsible instead of borrowing a GPS unit from another office since I do not need centimeter accuracy of the location.