Я не уверен, что вы можете напрямую передавать один поток в другой в .NET, но вот способ сделать это с промежуточным байтовым буфером Размер буфера произвольный. Наиболее эффективный размер зависит в основном от объема передаваемых данных.
static void CopyStream(Stream input, Stream output){
byte[] buffer = new byte[0x1000];
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
output.Write(buffer, 0, read);
}