As a starting point, Metering is not helping your case - this actually adds an explicit delay (in the screenshot, 500ms) between commands to the different devices in the scene.
There aren't any logs from the Reading/Play devices to see when they actually confirmed they were on, but removing the metering appears it would bring the overall time down in the 200ms range - certainly better than where you are now? The rest is processing and comms delay between your hub and the switches...
As you alluded, currently for zwave a separate command is sent to each device - the hub has no multicast support
@bcopeland will have to comment. But about a year ago, I remember reading that the SDK for 700-series chip didn't have clear documentation on how to implement multicast.
In your initial screenshot, you also had "Discrete on" enabled - with this option, the hub will always send an on() command at the end for each device.
The second run it looks like you disabled this, the "on" logs you see there are from the device driver, essentially confirming the event it received back after the command was sent.