Depende de lo que necesites hacer.
Si necesitas usar comunicación entre procesos por red lo mas recomendable es que uses...
System.Runtime.Remoting
System.Runtime.Remoting.Channels
Pipes como tal no he escuchado que los haya en el .net framework, puedes utilizar cualquiera de los objetos del namespace que te he mencionado y te ahorraras mucho trabajo, por lo cual no te recomiendo trabajar con Sockets, lo ideal es usar un
TcpChannel.
Si lo que vas a usar es únicamente comunicación entre procesos en la misma máquina lo ideal es que uses
IpcChannel
Esa es la más rápida de comunicar dos procesos en la misma máquina.