It’s probably not the most elegant way for accomplishing this, but I have something. For Halloween a couple of years ago I did just that using Webcore and my cell phone. I had the phone connected to speakers by Bluetooth and set up so that the ringtone for text messages was the sound I wanted played over the speakers (dentist drill in case you were wondering). Among other lighting effects, I had the Webcore piston send a text message to that phone. It received the text and the sound played on the speakers. I actually had different lighting effects set to happen at different time intervals based on a typical walking pace up my sidewalk with the sound playing as kids turned the corner to the porch. Setting “wait” commands in the piston, it worked better than I expected.
I assume you wouldn’t want to have a phone with cellular service just sitting around for this and no other purpose. If you have an old phone or tablet no longer with cell service, but connected to your wifi, I think you may be able to do something similar. Install the SmartThings app on that phone/tablet and have the piston send a push notification instead of a text notification (with desired sound as the tone for push notifications).
Of course as I write this I’m already coming up with problems. If that device has any other notifications set up, or if you have SmartThings sending other notifications, the sound will be played at times you don’t want it. And this will only generate one sound; so if you want different sounds for different scenarios, you’re out of luck. But it might be a starting point.