Yes, Camel is the silver bullet :).
Now seriously Camel is a great integration framework, and there are others, indeed, but Camel explicit goal, followed religiously is to simplify integration, which, as you said, is not an easy task.
Camel is also the integration framework of choice for FUSE ESB and Message Broker, which means that both the FUSE team and the Apache communities make the necessary efforts to ensure that Camel works seamlessly embedded within these products. Camel is also the integration framework of choice for other projects not affiliated with fusesource.
On a more technical level, Camel supports out of the box I think the largest set of known protocols, including but not limited to http(s), ftp, file, pop, smtp, ldap, xmpp, etc, etc and known DataFormat(s), supports a few programming languages, and a bunch of other features. It is also relatively easy to add support for other (even proprietary) protocols. CXF would help with protocol conversion (probably) but Camel (which does include cxf support as well) provides other goodies.
The decision is ultimately yours, but my (biased) opinion is that for your integration needs, Camel is the best investment today and the foreseeable future.
As best practices, well, depends on the project, but for non trivial projects we see a lot of FUSE ESB (based on Apache ServiceMix) deployments using Messaging Router for reliable async messaging, CXF for SOA, Web Services, REST and Camel for routing, light business processes, gluing it all together. Yes, it is not by accident that all these technologies that serve different purposes got together under the FUSE umbrella.