I hear it's much better at cross platform interop and with performance.
I don't know about zeroc, but another option is "protocol buffers" - this is Google's open source binary serialization format, designed for portability (between platforms and implementations), performance (binary, cheap to read/write) and extensibility.
There is not, however, a standard RPC stack defined by protocol buffers; a handful of RPC stacks are springing up in the community, though.
Java, C++ and php are in the Google release, and there are various community versions available, including C#.
We are using ZeroC Ice in our mixed-language projects. So far we write in C++, Python and C#. Ice is very easy to use, scalable and extensible. The only inconvenience is that you have to write plugins and object factories for some languages separately. For example, a transport adapter plugin for C++ cannot be reused in C# (but works for Python though). Our software (its C++ part) is performance critical and Ice is giving very good results. The very yummy features are updating old data structures (you can modify old classes stored in the database, for example, and add new field to them) and on-the-fly persistence (Freeze service). Highly recommended.