Personally I would do it like this:
You can declare a siege against a city after you have successfully raided it 4 times in a row while sharing a border with it. This fills a "gauge" which then enables the siege option.
Once the siege is won, the governors and vice governors are immediately removed, but citizien are not. The conquest is fully completed 1 week later, at which point the citiziens are removed and the assaulters become the new governors. This gives 1 week time to use the city as a basis to re organize somewhere else, easing a lot the hit that a group/guild would suffer, and hopefully keeping them into the game. At the same time, removing immediately the governors prevents them from sabotaging the city before handing it to the conquerors.
In addition, to prevent excessive snowballing, there should be the following requirements:
- A nation can declare sieges only if it has no cities currently facing degradation.
- You can declare sieges from a nation border only if that border region has developed the siege technology.
This means that you have to fully occupy every city you conquer with 20 citizens in order to conquer more, and that to expand your nation you first need to develop the newly conquered cities at least to a minimum rank. The previous changes also make it so that you need 1 week from your conquest before starting to use it as yours.
This should slow down reasonably the conquering process, giving the defenders more time to reorganize and keeping the competition more dynamic.
This also should also come with durability damage on KD/Death. Waging wars should be taxing on your supplies.