First come, first served is the standard for the cash game.
The seats should always be in place at the start of the game so before a new arriving player is seated, any player already seated has the opportunity to change to the open seat.
The player actually probably has a legitimate gripe if the last player to arrive is just squeezing a chair in anywhere he likes. (Essentially creating an open chair to which already seated player should have "dibs.") It is a way to circumvent first-come first serve.
The problem with random assignment in cash games is that to be fair it would almost have to be drawn every time a player arrives or leaves which is either a big waste of time, or just something that will be done at the outset and then forgotten, again providing benefit of choice to late arriving players when the benefit should reward the first arriving players.
I know it's a nitpicky point, but the game is better if the first arriving players have the most choice when it comes to seating.
So at the very least, whenever a chair is added, all seated players should have the opportunity to move seats before the new player is seated. Not just immediately take the newly added seat when arriving.