Not a colleague, but we have a visitor who comes and tells us her life story every morning. She doesn't read social cues very well - she'll stand front and centre at the cart ranting while queues form, and you can't interrupt her because she just talks over the top. A couple of our staff have had problems moving her on and her antics are costing our business (customers expect to be served quickly, and rightly so).
When she came along while I was on the other day, I did just talk over the top of her and asked the next person in line what they would like which prompted them to move forward; she still carried on talking but eventually got the message and wandered off. Another time I said to her - before she started talking (I got in first - ha!) that if she didn't want to buy anything (she never has) then I wouldn't have time to talk today because we're very busy ... at that, she grunted and wandered off.
The staff members who have complained about not being able to move her on have tried the same tactics as I have, but they haven't worked. I don't really know what else we can do to get rid of her though - you can't trespass someone for being annoying, and it's public property that we're on (Council-owned; we pay a monthly rental for the spot).