Hi,
Yes, Flowable only allows throwing Message events from code. As far as I know, there is no Message Intermediate Throwing Event model element. There is only Signal Intermediate Throwing Event that is supported in BPM add-on.
Message events is thrown programmatically only, you should provide variables and business key using the API.
You can use Service Tasks for starting a process by a message. Create some spring bean method that accepts message name, business key, etc. as arguments and invoke this service task whenever you need to start another process by sending a message.