I've never seen a faction surrender. But the behavior you describe doesn't make any sense indeed. Maybe the unrest in those cities should be higher, and that's all.
You generally have to be pretty far ahead in Faction Power to get an AI to surrender while it still has cities. If you have the patience for it, though, it can be very worthwhile to ensure that the sovereign is out with an army when you capture the faction's last city (so he doesn't get killed when the city is lost) and then demand his surrender. It might take a few turns to get him to talk (instead of claiming to be too busy), but, once he does, I've never seen one refuse to surrender after you've taken all of its cities.
The reward for forcing a surrender is that the sovereign joins your faction as a champion, but with -25% accuracy, HP, and one other stat. Not ideal for fighting with, but... they're still considered enough of a sovereign by the game engine that you gain Prestige equal to half their level, just like you do for your own sov. (Note that I play with Stormworld, so some details may be different in vanilla.)
The cost of demanding a surrender prematurely is, as I mentioned earlier, that all of the surrendering faction's cities and outposts are razed, although the sov still joins you, so it may be worth it anyhow.