I have recently gone through this!
I was wanting to leave Three as the price just keeps going up and the "deals" they offer are just shocking
I got a giffgaff sim card with 4GB data for £8 just before we went abroad to try it before I decide to move they run off the back of 02 but its no contract and you can change it at anytime you want. You also buy phones through them separately and can choose to finance it at 0% however you see fit. The sim served two purposes 1, to test the network and 2, to use the data while abroad in the EU as it worked out cheaper to do that then pay Three £2 per day! 2 birds with one stone and all that
The network wasn't too bad to be honest the speeds was a little low compared to Three but it all worked as it should.
I rang Three asking to cancel they asked why and what phone I wanted! Told them lack of decent deals and it was cheaper elsewhere for the Google pixel 7 Pro than they was offering £38 a month as opposed to £47 minimum from Three!
They proceeded to tell me how much data I roughly use and they would do a "deal" to cut a long story short they offered me the phone with unlimited everything for £57
I don't think he could comprehend it was way over my budget
Ended up going sim only on a 1 month rolling contract with the same as what I have for £7 a month which was supposed to be £21
Bought the phone through giffgaff so new phone and contract costs less than the old one