Good ideas, let's see
motion sensor on top of your shower
That'll detect my shower area motion not when shower in on. When I am cleaning the shower or sitting in a bathtub I don't want mood lighting or other automations to be triggered.
trying to detect the vibration of the water flow
Vibration sensor can work but it's a ceiling shower so I'll have to see if I have enough space. This is the closest to a viable solution given my situation.
a simple switch that you hit before you get into the shower
Yeah that's a fallback option, but I try to automate my home whenever I can and not perform manual tasks. I know my groggy morning self is forgetting to even hit this simple switch.