You should be aware that the cross-platform plugin wrapper only extends so far. If you want to use “real world” values for your plugin parameters (i.e. 440 Hz, 540 msec, etc.) as opposed to a 0.0-1.0 range, you will need to come up with your own solution for mapping your AU parameter values to the 0.0-1.0 range for VST and RTAS.
I would also suggest creating a base audio plugin class that is proprietary, and having wrappers for native AU, VST, and Juce. This helps when prototyping plugins, as you can whip out an Audio Unit or VST sans GUI very quickly, and create the Juce GUI later.
Jules knows a lot, but he’s in London, which can make for a big time lag between when you write a question on the forum and when you receive an answer if you are in North America. Staying up really late at night every now and then can be helpful.
Juce is huge. I’ve been working with it for a few years, and am only now getting the hang of it. There is a LOT to learn in there. Sometimes this is annoying, sometimes it can be a good thing. VSTGUI seems much simpler, but pretty limited overall.