They really annoy me, they're everywhere, like a swarm, and their tactics are appalling.
I was walking down to the Post Office last week, and on a stretch of the High Street only about 5-10 metres long there were three chuggers. All three tried to stop me, despite seeing that the others had already tried to speak to me. The first got a polite, "no, sorry", the second a curt "no", the third I just walked past smartly without acknowledgement.
For a long time I used the "under 18" line, but I can't get away with that anymore even if I was IDed buying a lottery ticket last week.
Usually I just don't make eye contact, and if they still approach just give a short "no, sorry" whilst not breaking step, but sometimes they do the whole jumping in front of you thing and you have to stop.
I was once stopped by one, and I politely informed them that I was unemployed and could not afford a direct debit ever month. They still tried to guilt trip me into it.
I was once stopped by one, and I politely informed them that I already regularly donated to various charities that had special significance to me. The girl then rather aggressively demanded to know what charities, and then proceeded to very aggressively berate me on my choices.
Since, I have variously used the lines.
"I'm a heartless, money-grabbing lawyer, and I don't believe in charity." (Shocked the guy so much it gave me the chance to get away whilst he worked out how to respond.) or;
"My work has involved anti-money laundering verification, I know how easy it is to obtain even a fake passport, so if you seriously think I'm going to hand out my bank details to a randomer on the street because they're wearing a bib and carrying an ID card that could have been knocked up on photoshop in 10 seconds flat, you're deluded."
Another time, I used my neighbour's tactic - I actually spoke to them. I wasn't in any hurry, so I stood and just chatted very friendlily, on and on, must have been for 45 minutes, by which time the guy concerned was getting fidgety and was absolutely desperate to get away.