I used to use Googles DNS but when I started to move away from Google products for privacy reasons (I still use some, can't help it) this one was one of the easier decisions.
I used to use OpenDNS, then my own servers (you can set up a local resolver with BIND in minutes), then Google's DNS but all those options are slower and give worse results than using your provider's DNS servers.
You can see for yourself, in your particular setup, which configuration is the fastest using namebench[1]. But it's not only DNS latency, it's also that some CDNs depend on your server's location for determining the best response for you so overall browsing experience also gets better.
Right now I use local BIND but forward queries to other servers. It's a compromise between latency, caching and flexibility. For example it forwards requests for .bit domains to the dot-bit's DNS server and requests for OpenNIC domains to their servers.
Another way to get a local cacher is to setup dnsmasq locally or on your router/gateway. I have it running on my gateway and it greatly reduce the latency for DNS-lookups on most things where there is a high probability that another client already has requested it. The more devices connected to it, the better.
Those resolvers are run by level3. I could dish out the stats for queries coming from level3, but that may not be accurate. Do you know the real ips behind the anycasted 4.2.2.1-6 nameservers?
If you are interested in privacy, maybe you shouldn't use a DNS-provider that hijacks DNS and give you fake responses?
It's a reason that they don't support DNSSec and probably never will. It will kill their business model, which in short is hijacking your DNS and giving you ads.