The problem for Vivado is it's lack of 2008 support. It has nothing to do directly with UVVM and OSVVM. But both of them use a lot of the 2008 features.
You'll get full OSVVM and UVVM support from any simulator that has proper 2008 support, which is just about everyone else.
I am fully on board with OSVVM. IMO, its like a tool box where you can pick and chose which bits to use at any time. So its very flexible in how you use it. You could quite easily take an existing testbench and OSVVMify it a little at a time.
On the other hand, UVVM feels like an entire framework. You have to conform to the way UVVM does things, so you would likely need to start existing tests from scratch using the UVVM framework. This is why Ive decided not to invest time in it.
Also note that you dont have to use one or the other. It would be perfectly fine to use OSVVM features inside a UVVM testbench. UVVM even used to ship with OSVVM (they now ask you to get it separately I think).
IMO, UVVM is an attempt to have a go at UVM in VHDL. If you really wanted UVM, why not use UVM?
The Cynic in you should also flag that both methods were developed by training companies - Synthworks was OSVVM (Owned by Jim Lewis, the guy who leads the VHDL LRM) and BitVis. They both sell training in their respective methodologies.
I currently have a AXI4 (full AXI4, not just lite, although I havent implemented all the features or Assertions) VIP suit that uses OSVVM for randomisation and scoreboarding. (All written in VHDL, and runs very fast in ActiveHDL)