I am currently using the binary formatter (Remoting) to serialize and deserialize objects for sending around my LAN.
I have recently upgraded from 2.0 to .NET 3.5. H
It sounds like Protocol Buffers might be what you're looking for.
There are three .NET implementations that I'm aware of: protobuf-net, protobuf-csharp-port and Proto#.
The performance comparisons show that Protocol Buffers outperform the built-in serializers in terms of both size and serialization/deserialization speed.