To get the kind of real efficiency improvements that self-driving cars are capable of, coordination is absolutely necessary. If each car operates autonomously, it has to go slow enough and keep enough distance from other vehicles that it can react appropriately and safely in situations where it doesn't know what the other vehicles are going to do until the other vehicles actually start doing something. If the vehicles communicate with each other, they can safely cruise along at much higher speeds with only inches or perhaps a few feet between them, dramatically decreasing travel times, increasing road capacity, and potentially reducing fuel usage by reducing wind resistance.
I think a practical system is going to need a combination of approaches. At the end of the day, for safety reasons (and hack protection) cars will need to make decisions locally. There's nothing stopping them from warning
each other what they're about to do, but they need to be smart enough not to rely
on other vehicles doing what they claim, and recognize quickly when a given vehicle is "untrusted".