From a pure JMS specification point of view there should not be a difference between using ActiveMQ and SonicMQ when being used by Camel. Camel should connect to both without problems and limitations (considering JMS spec only, not proprietary features).
The first issue you noticed with SonicMQ is due to the way SonicMQ works, not due to Camel. ActiveMQ creates destinations for you on first usage dynamically at runtime. So its a feature of ActiveMQ. SonicMQ does not allow this. It requires you to create destinations upfront before you can use them.
Not sure on the POJO related question though.