I would consider this bad practice.
Good rule of thumb if you are going to use virtual voices - only use a virtual voice type decision about the state of a sound if the game wouldn't be able to make a better decision.
Your game will have lots of information about the spatial relationship of your listener and these sounds ( how far away they are, if they are audible directly or if a wall blocks them ).
A simple solution might be to define all your ambient sounds as positions in the world and once per frame check if the listener is sufficiently close to maybe hear them. If they are PostEvent, if they are not stop that event!
You can use virtual voices to make the final determination about whether a sound you've deemed potentially audible is actual rendered physically or not once its working with a tiny subset of sounds.
Try to avoid inversion of responsibility from the game to a piece of middleware if at all possible.
> But when I made a quick test with many sounds going to virtual voices, I got the error mentioned here https://www.audiokinetic.com/library/edge/?source=Help&id=ErrorCode_VirtualVoiceLimit where it says that it is bad practice, and that "This sound needs to be stopped by an explicit Stop Event".
This specific error sounds like you may have chosen the wrong virtual voice behaviour.