a long and ongoing debate....many opinions and ideas, i've bought a water pistol and chase them off when i see them, good luck!
If they're your cats, provide them with a sheltered and dry litter tray outside. If they're not yours use a water pistol or a Water Scarecrow.
I use Pyracantha twigs and the thinner branches cut randomly from my large hedge.
Strip the leaves off leaving bare twigs with very vicious thorns, scatter around your borders, cats will not go near them. The cats used to destroy my flower borders and veg patches despite all my humane efforts to deter them. I have several cats of my own, they don't like them either!
This method has worked for years, you might have to look for a Pyracantha plant!
I owe this tip to my nephew's girlfriend who tried it to keep cats off her veg beds and it works. I place them in any areas of bare soil, with the spiky end upwards and the cats can't squat. Holly leaves are a good deterrent as well. Nothing seems to work with foxes though as they 'go' wherever they please. Gardening is a constant battle against various intruders but I do enjoy it even so. Though I do wonder how the likes of Monty Don manage - or do the intruders not dare to dig in his beautifully prepared beds?
Nigel sees them off
Monty has a cat as well as Nigel.
My Nigel and Nigella see them off in my garden too, never a problem with cats and even the magpies aren't bothering the little birds any more (I've been training them to chase off seagulls,magpies and pigeons but the never go near the smaller birds )