I would script a waypoint like system. If a special dist is reached, the car must be oriented on waypoints in the road. An easy and ungly way is to use two paths for each site of the road. (Sorry, i am not so familar with english words for traffic situations).

It's a very difficult quest to produce a 'nice' code for it.