This is the part where dignity comes in and you deal with the situation in a good manner. I had a similar issue with Three.
Before I was thinking of leaving I was merely shopping around and found that I could get a better deal else where. To be honest, I didn't "want" to move provider because Three were actually pretty damn good but sadly they couldn't beat the competition and there is only so much being nice buys you.
So days before I said I wanted to leave I told them up front that I was shopping around and that I could get a better deal with someone else. They told me what deals they could provide which just didn't quite match up
So I ended the conversation, signed up with the new provider and then called them a few days later for a PAC code and contract termination. This is the point where they threw every possible deal at me, one that was even better (slightly) but at that point it was too late. I had already moved provider.
What a provider should assume is that everyone will leave them. It is a matter of when rather than if. As such they need to do everything they can "before" the person leaves rather than after in my case.
Anyway, after a few minutes conversation I bid the retention handler a farewell and said it might even be in the future that I return to Three.