Во-первых, есть
TransmitFile. Я не пользовался, но, думаю, что это полезно.
Во-вторых, я когда делал отправку (не знал про TransmitFile), я делал через обычный Send/Recv пакетами по 1-2кб. Медленно, но верно

Но там много заморочек - пакеты склеиваются и разбиваются на совершенно разные части, геморрой сплошной.