How do I choose an upstream DNS server?

It's subjective; do you want the DNS provider to block certain content (parental filters)? Do you want enhanced security (anti-phishing services)? Do you want an unrestricted, untampered with connection? It's really up to you.

Level 3 provides the cleanest access. In the network administration world it's the go-to for upstream DNS. If you're into monitoring your network and blocking access to certain sites / services via DNS then OpenDNS / Norton would be a better alternative. The catch here is that you'll need to sign up for an account to get access to or control their services. Comodo isn't as intrusive as OpenDNS / Norton, but still provides security services. At the end of the day the decision is up to you. I prefer Level 3 but I also don't have any children or guests using my network.