Well, if you want to try to dig in and "get to the root of it", I think the area(s) you'll end up looking in revolve around how aGPS data is obtained & cached, how ROMs (read: Google location services) cache location data**, etc.
I just stepped outside with my stock-rooted VSGN3, which always seems to lock in about 8-12s under "normal" conditions. 15 birds in view. Then I:
- put the phone in Airplane mode (no cell, no WiFi**)
- using the GPS Status app (eclipsesim), clear the aGPS state.
- using app manager, force stop GPS Status, clear cache and data (of that app)
- turn off GPS
- start up GPS Status, accept EULA, go into settings and enable "display time to first fix"
- using app manager, force stop GPS Status, clear cache only (of that app)
- turn GPS on
- launch GPS Status
Result? Time to first fix = 215 seconds... With 15 birds in view!!!
If I repeat this process, but instead of waiting more than 60 seconds, I turn Airplane mode off... and within a few seconds the aGPS date goes to 0 hrs, and 8 seconds after that I get a first fix.
**I forgot to mention something in my first post. GPS Apps are clients of the Google Location services. Which means that a location "seed" can be obtained from Google's global location database even if you are using a carrier that provides no aGPS service.
How does this work? By co-opting billions of Android users to become participants in their vast geolocation data collection operation. Your neighbor or a stranger drives by your house with their always-connected Android phone on (& WiFi, GPS on), and it reports back to Google "hey, here I am at this precise lat/lon, and I see the following WiFi SSID/AP Mac Address"... namely - *your* WiFi router. Google then plops this unique device identifier into their geolocation database. Note that this sounds rather sinister, but the reality is that you were probably the first person to "drop a dime" on your WiFi router's lat/lon, with your own Android device. You only needed to authorize Location services once for that to happen.
Now a second Android user drives by. He has his GPS "turned off", and thinks "they don't know where I am, I have my GPS off". But he has unfortunately left WiFi on***. So his phone tells Google - via the (IP) mobile data network - "hey, I don't know where I am, but my WiFi sees the following WiFi SSID&AP Mac Address". And then Google replies, "oh, I know where you are, here is your position to within a few hundred feet". (And then the Google server says to itself, "heh, I also know what Google account owner hangs out there a lot - and that he's there right now. Heh.")
So I am not trying to dispute your observations; it's just that the location seeding data that actually creates an opportunity to get a "10-second fix" can originate from a variety of places, so your task of "getting to the bottom of it" (unless you are just here to complain) is a little bit complicated - you are going to have to spend some time digging if you want a "fix" (sorry, pun intended)
Good luck
*** Note one of the recent "features" of newer versions of Android is "give us permission to scan for WiFi networks even when you think WiFi is supposed to be off" - hmmm, why do you suppose that is?