First of all, who are you with currently? And who would you like to switch to? What area do you live in? Zip? And we can tell you what companies will have service, at least in the area.
Next, are you still under contract? If yes then you will need to stick out your contract, pay an early termination fee, or get someone to take over your contract. If no, then no cancellation fee, which is good.
Once you have decided to switch, I would take advantage of the remorse period. Most carriers offer a 2-4 week trial of their phone and service before you are committed to a long contract. I would take advantage of this with whatever companies you are interested in to find out if they offer the coverage you need. But make sure you try out ALL places that are important to you. You could even do this while continuing your current service. It may only take a day or to to find out a carrier wont work for you, and move on to the next.
Once you have found a new carrier that meets all your needs, you can keep your old number and transfer it to your new service. It is called "number portability", and most contract cellular providers offer numbr porting. To be sure you can contact them and ask. One important thing, though. If you want to port your old number you must keep your old service active until the port is complete or you will loose the old number you want to keep. One last thing, initiate with port from your new provider, not your old carrier!.