the gps is very good but the setting can cause issues. i had some of the issues you mention, changed the sulp setting to auto config in lbs test mode and set it to msbased to match the secgps.conf file. i tried the google supl server but the gps was worse! the url is long for the server used in auto config so instead of writting it i just suggest you use the auto setting.
after that it works amazingly good, reception indoors is not as good as the nexus s or the atrix but the accuracy and lock times are nothing short of amazing.
also i never use wireless networks, it may try to fall back on it if you have a temporary reception issue and just cause major tracking issues. it is basically useless.
but that said if you always have the issues mentioned and not just occasionally then you may have a problem