Puede obtener NetworkStream desde un TcpClient con client.GetStream() y pasarlo a un StreamReader/StreamWriter para obtener acceso a sus métodos asíncronos de lectura y escritura.
NetworkStream
TcpClient
client.GetStream()
StreamReader/StreamWriter