RAID 10 15K disks, but obviously that involves a financial outlay and a rebuild/migration exercise.

To be honest I would shy away from over-optimizing servers, unless the perf bottleneck is really causing problems. Every optimization you make is a trade-off of some kind, and you need to ask yourself if that trade-off is worth it. With a server I'm always happy to accept performance that's "good enough but not necessarily stellar" if it means better stability and reliability.

the performance hit is in the very nature of RAID 1 (mirrored). you want speed, then you'll have to use RAID 0 (striped) which is not really an option for servers where you want fault tolerance from disk errors and failure.

I would recommend against trying to tweak the way Windows performs I/O, some smart people have already put a lot of thought and testing into optimizing it as much as possible, across many different scenarios.

Another enhancement for remote copies is the pipelined I/Os issued by the SMB2 file system driver, srv2.sys, which is new to Windows Vista and Windows Server 2008. Instead of issuing 60KB I/Os across the network like the original SMB implementation, SMB2 issues pipelined 64KB I/Os so that when it receives a large I/O from an application, it will issue multiple 64KB I/Os concurrently, allowing for the data to stream to or from the remote system with fewer latency stalls.

The copy engine also issues four initial I/Os of sizes ranging from 128KB to 1MB, depending on the size of the file being copied, which triggers the Cache Manager read-ahead thread to issue large I/Os. The platform change made in SP1 to the Cache Manager has it perform larger I/O for both read-ahead and write-behind. The larger I/Os are only possible because of work done in the original Vista I/O system to support I/Os larger than 64KB, which was the limit in previous versions of Windows. Larger I/Os also improve performance on local copies because there are fewer disk accesses and disk seeks, and it enables the Cache Manager write-behind thread to better keep up with the rate at which memory fills with copied file data. That reduces, though not necessarily eliminates, memory pressure that causes active memory contents to be discarded during a copy. Finally, for remote copies the large I/Os let the SMB2 driver use pipelining. The Cache Manager issues read I/Os that are twice the size of the I/O issued by the application, up to a maximum of 2MB on Vista and 16MB on Server 2008, and write I/Os of up to 1MB in size on Vista and up to 32MB on Server 2008.

If you can switch those 2003 servers to 2008 and have clients running Vista, you won't have faster I/O, but you might just have more efficient I/O.

That said, it is probably easier and better to look into hardware solutions as stated in the other answers.