I was wondering: would it be possible to treat the "roads"
as just another type of "rail", to be used by trains of type "car"?
No need to set directions at switches/crossings,
each car would have a setting like "go left/straight/right" 10% / 70% / 20%,
(with a setting of 0% / 0% / 100% for "follow-the-right-wall" maze-running)
and move until it finds a stop (garage, busstop, gas-station, parking-space etc.),
park there and activate a random other car (or one of its own type, e.g. another bus).
Also reversing at the end of roads, and stopping at railroad-crossings and traffic-lights.