Xerces implementation of a Node is a Serializable Implementation
org.apache.xml.serialize.XMLSerializerthat is an implementation of different XML handlers (ContentHandler, DeclHandler, DocumentHandler, DTDHandler, LexicalHandler) to be used with SAX. If you want you can use it also alone, whitout SAX.
With this you don't serialize the DOM Object but you transform everything to an XML String (easier to serialize, and obviously faster to transmit). The disadvance is that, from the other side you get a String to be parsed to a Node. Anyway you can try to check performance improvements/loss. (I think should be an improvement.)