but is it improved even when not connected but turned on?
WiFi seems to make less of a difference with my iPhone than it does with my Androids. My last 2 Android phones, if WiFi was off, showed me, consistently about a mile away when I was at my office. As soon as I turned WiFi back on, the location was accurate practically to the meter. Mind you, this was a situation where I was stationary.
On the other hand, one of the running apps I use, Runmeter, says to turn off WiFi if the GPS seems in accurate as grabbing location data from a WiFi accesse point when GPS is weak might result in inaccuracy. My tests on this are inconclusive.
I have a 4S and had a 4 prior to that. I am currently trying to find a running app that has what I consider to be accurate GPS. Like you, I have my obsessive moments. I have used a Garmin GPS watch for years (various models, current is the 405x). However, I decided to use Runmeter because I like the audio feedback and then they added intervals. However, it's routinely WAY off from the Garmin. It thinks I run far faster than I do. The pace difference is 2-3 min/mile faster, distance off by about .5 miles by the time I'm done a 3 mile run. I get slightly better accuracy if I make sure to quit the app and relaunch it. I'm still not happy though. I've tried putting in a pocket, putting it in a belt pouch, putting in in an armband. No difference. Results with JogLog are worse (and the app isn't as nice).
Should you find an accurate running app, do let me know!