When I want to sack a city, I loot it, then destroy all military and commercial buildings and as many of the law/happiness/sanitation buildings as possible without getting a really bad happiness level. If this is possible without a garrison, I abandon it. If not I leave a token force of cheap units.

If you have, say 40% happiness, it does not rebel immediately. If it is within enemy territory, the enemy often captures it before it rebels. And even if it rebels, as has been said before, it is often an eleutheroi town. And if you have destroyed military buildings, it is usually full of levies.

In my Saba campaign I devastated the Seleukid core provinces that way. Sacked about 8 or 9 cities, two of them tiwce. And not one rebeled back to them (vh campaign difficulty, newest build, no other mods).