Este articulo te da una idea del espectro de soluciones para aplicaciones distribuidas.
http://www.solucionesvulcano.com/blo...ciendo-la.html
Personalmente, y en base al entendimiento que tengo, los "frameworks" tal vez no sean la mejor opcion. De los que mencione en el articulo, quizas MsgConnect, Indy o RemObjects....
Debido a que parece que tu aplicacion es mas tipo "messenger" y que no tiene un servidor central, en ese caso Indy con UDP (?) o MsgConnect...
(En ambos se usan sockets, y si, son la mejor opcion en cuanto a desempeño)