Your experience is like mine with Sprint.
I was a 16 year customer. I dealt with Sprint's slow speeds and lack of coverage since 2012 when it really got bad. After two years they were improving, then they started dropping phone calls and we started getting call failures. Slow data and slow to arrive and duplicated text messages are one thing. Not being able to make a phone call is another. My wife is as heavy a user of minutes as some people are of unlimited data. Not being able to use her phone is a deal breaker.
Sprint's customer service only got more decent towards the end. And that's because they wanted you to fill out their performance survey. But in between was years of awfulness. There is a disconnect between online, phone and in store support. No one knows what the other is doing and no channel will honor what the other channel told you.
T-Mobile on the other hand has had solid coverage and decent (if not fast) speeds. I don't need 200mbps down. 2-7 is just fine as long as it's stable and consistent. Something Sprint has trouble with in certain spots in PHX (most of the places I go to).
The T-Mobile CSRs treated me very well. I had a few hiccups, but nothing that 16 years with Sprint had not taught me how to handle.
All of that said, I have no illusions. T-Mobile, just like Sprint is not my friend. They want my money. So, I go to Apple to take care of any hardware issues. Just like I did with Sprint.