I've had to deal with this type of thing in the past. Not often. What has worked for me was saying something like the following right off the bat when they try to keep me (but I guess it only works if not all of us do it :):
I get it. You are doing your job. You have a script. You have to try and keep me. It's not gonna work on me. Skip to the part of the script where you begrudgingly give in and cancel the service for me and you can take your next call quickly.
I get it. You are doing your job. You have a script. You have to try and keep me. It's not gonna work on me. Skip to the part of the script where you begrudgingly give in and cancel the service for me and you can take your next call quickly.