Create a knowledge-team whose sole job is to take information from all the other teams, digest it, and make it available to the rest of the firm. Call it "corporate communications" or "internal marketing" or whatever floats your boat. If you can't get a proper department, at a minimum you can get a on-staff librarian who is a good technical writer who you can pass around the firm (as long as they have the ear of the…
In a programmer environment, this is impossible. A programmer will always need to document his own things for a simple reason: (s)he is the only one who really knows. Putting people in the middle of that who can barely understand all the details, seems like a lot of overhead for a worse deliverable.
And yes, if your audience is programmers, then ideally you can hire technical writers who can program, and who can speak to programmers, but failing that, technical writers who can get proofread by a programmer can also work.
Having a single consistent voice is what matters, and that comes from giving a person the responsibility to be that voice.