How to pass sexps as transparently between the two Lisps as possible?

Can you please elaborate on "transparently"?

The first thing out of my toolbox when I need to simply get some data between lisps is just:

  (send 
     (print1 payload)
     other-server)

using whatever mechanism. 

and then 

  (let ((*print-eval* nil)) (read-from-string payload))