Оказывается, я действительно читал по сети. Я думал, что мой подключенный диск был локальным, но это не так. У меня все еще есть проблема при чтении по сети, но когда я теперь на самом деле читаю файл с локального диска, скорость - это то, что я ожидаю. Спасибо всем.
РЕДАКТИРОВАТЬ Я исправил проблему чтения по сети. Вы можете создать FileStream, который не использует кэш Windows с этим кодом:
FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None, bufferSize, (FileOptions)0x20000000);
0x20000000 - это флаг, который еще не имеет перечисления в .NET Framework, но в основном говорит, что не использует кеш.
http://msdn.microsoft.com/en-us/library/cc644950%28v=VS.85%29.aspx