It's probably closer than you think.
The reason we don't already have self driving cars is that there hasn't been enough computing power in a small package to make the sort of decision logic needed practical until recently.
As long as the prerequisite for self driving has been to emulate human's driving skills, there just hasn't been the computing power available. Now that there is, progress is being made, but really it's just a transitional period.
What's eventually going to happen is that roads everywhere will get machine assists - basically, small beacons running on low power that provide easy machine readable data on everything from precise road location to speed limits to local road conditions. They'll be small, low powered radio transmitters or even NFC devices near the road that the car can just download data from.
There's always been a chicken and egg problem with self driving vehicles, where no one wanted to invest in machine assists for all roads because no one wanted to put that much money and effort into something that no one needed (no one had self driving cars) but no one wanted to make self driving cars a product that wouldn't be successful without machine assists as well as a way to drive without them as a backup.
Now that self driving cars are out there and everyone is getting comfortable with the concept, machine assists will be coming, and they're going to have benefits to ordinary drivers, too.
If you want an example of why this will work, look at aircraft. Most jet liners today are perfectly capable of landing themselves in almost any weather because of the electronic navigation system they have built in to most airports. The planes aren't using machine vision and AI code, they're landing on a piece of ground defined by numbers in the navigation system which is precisely located by GPS coordinates.
The same will work for cars, it just hasn't been built out yet.