I'm using just humidity and its working great. I put the sensor away from my sink so it isn't triggered by washing my hands.
This will only consider you showering if humidity goes 9% above the 1hr average humidity:
You need a 'Statistics' Helper, call it "Average Bathroom Humidity" and base it on whatever humidity sensor you have. Make it "average linear" then set Max Age to 1 hour. (leave other options default)
Make this Template Binary Sensor called "Showering":
{{ (states('sensor.bathroom_sensor_humidity')|float - states('sensor.average_bathroom_humidity')|float) > 9 }}