I wonder if it's a better choice to have firefox run in a sandboxed environment?
It would be better, but as you discovered it also makes integrating with the system more difficult. Snap can handle the complexity, but many snaps are not properly configured with the right access privileges. Sometimes they are too strict and you get a more difficult program to use. Sometimes they are too broad resulting in little security benefit at all.
Am I more vulnerable to potential viruses if I run it in non-sandboxed environment?
Let's assume that Firefox had a bug today that allowed visiting any website to launch a program and install a virus. Without any sandboxing such a program would run as your locally privileged user and unless you entered your administrative password it would be unable to do anything as root, drastically limiting what it can do. However, it would be able to open your files and potentially steal your data or encrypt it and hold it hostage like randomsware does. It would also be capable of writing scripts that execute every time you login as your user allowing it to install monitoring tools like a keylogger or screen recording.
With sandboxing it would maintain the inability to become root but would also be very limited in what files it could read and write from your system. It very likely would be unable to read your important files such as SSH keys or personal documents or anything outside of your "Downloads" directory most likely. This would also drastically reduce it's ability to install a keylogger or screen recording software that would run every time you login as the same user.