Sirens are tricky things. You’re right, they tend to be finicky if the platform is running slow, the zwave mesh is not in great shape or the internet is acting up. It’s better to use a local DTH for your siren if possible since it’s a little faster to react than a custom DTH which runs in the ST cloud.
There are loads of Sirens out there, Utilitech, ZooZ, Vision, Dome etc. Each has it’s pros and con’s, you can check them out and see what works best for you. Most Siren’s will work with the local DTH (you can’t access their advanced feature though, which require a custom DTH). Some sirens like the Vison Siren turn off after 5 minutes by default. If you’re concerned about a Siren running continuously non stop then you can check out this Siren as it’ll stop by itself (you can adjust the setting using a custom DTH). If you’re using the stock DTH on this Siren it’ll stop in 5 minutes.
If you have a ZigBee Keypad (which you can use to control your security system), some of them have built in Siren (85dB to 105dB) which is actually more reliable than a Z-Wave Siren IMHO. These are fairly cheap to buy on eBay.
As for triggering it, same thing applies. Easiest option is to use SHM (Smart Home Monitor) Security Module. It has most of the features you’ll need to monitor sensors and trigger a Siren. You can also create your own custom rule using various apps like CoRE or WebCoRE etc to create a custom monitoring setup. You can also check out the Security System Intruder Alerts with Actions app which is a specialized security app and used to create various security monitoring rules, can also use a keypad, announce event and more. The plus is that your spouse can use the keypad to arm/disarm the system and turn off the alarms.
There are loads of options. You can start with the basic and work your way up or if you have any specific questions, feel free to ask.