I think I may have fixed my problem with a combination of two things. I am using CM11 and I'm not responsible if this breaks your phone.
First, I did the enable MTU probing shown in this thread (all thanks and credit to Steppnasty):
But before rebooting after the fix, I went to Access Point Names in Settings, selected the Sprint LTE internet, and deleted the APN that just said Sprint (was the top one in my list). After a reboot, my LTE/3G switching has been working fine. Not sure if this will help anyone here, but it seems to have worked for me.