I'm a reasonably proficient touch-typist. I find it helps in software engineering tasks - writing comments in my code and writing informative (but not too long) variable names, to help readability and maintainability. It doesn't help with coming up with algorithms or decomposing larger problems.
But the best programmers I've known, algorithm and intelligence-wise, were hunt-and-peckers. Had they known how to type, their code would have likely been more maintainable and readable. One can be an excellent programmer without knowing how to type, as some of the comments attest to in this thread. However, it makes good code more maintainable due to the more verbose comments and superior variable names.
Existing code is hard to read. That's why even good programmers want to clear the board and start from scratch, rather than understand the existing code and optimizing it. Better comments and better variable names make it easier to read.
[Note: using < to represent less than operator because nothing lets me show the less than sign which is the start of an HTML tag]
// the hardware starts getting flaky beyond 10 connections
int maxConnections = 10;
for(int i = 0; i < maxConnections; i++){ ...
versus
for(int i = 0; i < 10; i++){...
The top tells you exactly what's going on and is more likely to be written by a touch-typist; the bottom more likely to be written by someone who cannot.
I think the ability to type is an advantage to the programmer and a benefit to the organization.
There are mediocre programmer who can touch type and excellent ones who cannot.