Since 2009, at least, 1771 has always had a programmer and a mechanical person as the drivers of the robot, but we have always done driver testing to determine who is most qualified. It just happened to have been a programmer and a mechanical student, every time.
Our drive coach is 90% is a mentor. The human player is usually whoever is best at it, but depending on the game, it could be rotated between 2 people. (For example, in Lunacy, we had a quarterback throw the balls for us...turns out he was better at throwing balls more accurately than any of us.

)
A really good benefit of having both a programmer and mechanical as the drive team, is if something isn't working right, you can quickly determine if it is a hardware of software issue (It's probably hardware!

), or if you need to do some quick code changes before the match. And usually the programmers are very familiar with the control system, making sure everything syncs with the field, wires are correct, etc.
For the coach: While we have, like I said, used a mentor 90% of the time, that role is usually tested as well, and the drivers tend to have the final say. We have found that our students get too timid as a coach, however as a mentor, we aren't afraid to yell to get our point across to the driver...

But like I said, the drivers tend to have the final say, because only the drivers know who is most effective for them.