I have sprint. I live in Brooklyn where the service is decent. I spend a lot of time in Far Rockaway where the service is terrible. I did a lot of reading on the subject and learned that;
As Dan said Sprints frequency differs from that of Verizon, which is the cause for the terrible reception indoors. (1xrtt, 3g, evdo, and lte aren't frequencies. I.e. Sprints 3g uses a different frequency than Verizons 3g)
Your phone constantly switches towers based on signal strength (not speed), and being that 1xrtt is stronger than 3g, your phone will likely connect to it as opposed to 3g (the internet speed on 1xrtt is unbearably slow). Your phone may stay on 1xrtt even after you go back out. You can just reset your network and you'll usually pick up evdo, or ehrpd once again.
Lastly, and I have no idea why this is, I've noticed that my signal strength fluctuates tremendously from one second to the next even while I'm outdoors, and stationary.