The biggest problem with automation is, it can't deal with things that aren't expected or detected.
The current roadscape is too chaotic to be able to code in all the edge cases, as well as deal with the sensor issues.
I think the only way self driving vehicles will be able to operate (until the roadscape changes/evolves) is to have dedicated roads(probably toll roads initially), where only compatible vehicles will be allowed to utilize, and only when in autonomous mode.
There the environment can be controlled much tighter, and we can get through teething problems with the inter vehicle/roadscape communications.
These roads will expand as society adopts them, and there will be fewer manually driven roads.
Eventually all cars can communicate with all others, as well as a centralized road traffic controller. And almost all roads will be autonomous required.
Then the car crash scene in irobot can happen.