Is this a good way to do it or is there a simpler one?
“Simple” is a matter of opinion I think. Personally I use a “sugarcoater”, which gives me easier access to the name of the switch and the event code, and then tunnels it through a link node. The benefit is that all traffic goes through the same event node, and get processed by the same sugarcoats, but the individual flows can be separated so it won’t get big and messy over time.
This screenshot shows the simple version, in reality I process it a bit more for my personal needs. The two link nodes are connected, but the top one is also connected to a lot of other flows.