My aunt uses Frontline on their cats (the stuff you squeeze on the back of the neck) and it is very effective for cats who are outside all the time, although it is relatively expensive. She resisted it for years but only because she was told it was injected, despite seeing my dad put in on a neighbour's cat every few months!