I'm controlling some lights and wanted to program this all in w/ ST3, however it was very tedious and I basically had to have a perfect "performance". Adjusting after the fact was infeasible, as is copy/paste for sections.
So I decided to write all these midi commands in Logic. I then play Logic & ST3 (in Lyrics Editor) simultaneously, followed by the MIDI listen mode.
This let me utilize Logic to arrange the lights, fix small timing mistakes, copy/paste, etc and then when it was all correct, "print" this timed midi to ST3.
Here's a little video of it in action...
https://cln.sh/b7YCJQH5