The reason for the browser-sniffing in search is a combination of ease of testing + latency reduction. By supporting a known set of browsers, you can write a test plan for each and shard it out among contractors (or ideally, automate it with a Selenium config). Manual tests run on every release (2/week when I left, maybe more now), and automated tests run on every changelist (thousands/week), so you can see how adding additional browsers to the testing matrix can consume significant resources. Very often cutting-edge features will launch on Chrome only and then if users like them, they'll get ported over to all the other browsers. (Or, just as often, the project is canceled and the feature is unlaunched on Chrome a year later, which IMHO isn't a great habit on Google's part but it is what it is.)
If you're manually spoofing your user agent, then Google figures that you know what you're doing and it's "use at your own risk anyway", and that if you get a broken experience, your first thought will be to disable the user-agent spoofing.
Additionally, browser-sniffing lets you serve only the JS needed for that particular browser, and not all of the hacks/polyfills/bugfixes/workarounds needed for browsers that the user isn't using. This is probably less of an issue now that things are more standard, but when I started ('09), not needing to serve all of the IE6 workarounds when the user was on Chrome or Firefox saved a lot of latency for users that were on modern browsers.