Ah. It might be possible to get the selected text into the clipboard, via either a MacroDroid UI Interaction "Copy" action, or via the Share menu in the other app -- most of the "Share" popups on my phone seem to include a copy-to-clipboard action. Once the text is in the clipboard, then MacroDroid should be able to send it to the voice app via the intent.
Using UI Interactions can be tricky, of course. Adding delays in between steps seems to help, as you've done.
An alternative, in case that approach doesn't work reliably, would be to use the AutoInput plug-in in MacroDroid to read the contents of the source app. The MacroDroid developer recently enhanced its integration with AutoInput to get the entire contents of another app's screen a variable. But then you have to parse through the whole thing looking for the portion you want... Hopefully the clipboard scheme will work for you.