At the moment controlling a group of vehicles doesn't work very well since they all try to park in the same location. Can this be changed so that when more than one car is selected, the additional vehicles select spots nearby? In order to avoid collision, you might also want each car to start driving on a slight delay so that they form a caravan instead of a glob.
I'd suggest doing a semi-circular grid, so parking would then look like:
One car:
_ _ _
_ X _
_ _ _
Two cars:
_ X _
_ X _
_ _ _
Six cars:
_ X X
_ X X
_ X X
And so on.
One final improvement to the logic might be to do a repath once the final (20 tiles? 10 %?) leg of the trip is reached, just to make sure the parking spot is still available. This would help alleviate the parking issue if they arrived on a moderate delay.