Seems actually pretty good and the fact it corrects itself like being driven instead of following the roads vector line makes it feel realistic. I guess, you also could give it a road width sensing ability. You have a way of getting the roads sides identified ... maybe getting the roads width from one end to the other 90 degrees off of the vehicle, then, taking some minimal road width ( witch would be representing a single lane road ) and forcing the vehicle to keep itself at just the proper lane by telling him not to get over the minimal road-width from the right side if the road is wider ( two or more lanes ) ... not sure how it would react on intersections and such, but if he switches from one road to another one at the point, he could handle it to correct himself.
Technically, you cam make left-driving easy by just switching, from witch side it should hold the minimal road width parameter.