Probably because there are so many different OSS implementations, not all of them compatible. Even Linux before 2.4 had an OSS implementation until it got replaced with ALSA. Sndio is standardized, it's the same on all BSDs. Because it's the same for all BSDs it's easier for an application programmer to use it and not have to make dozens of exceptions in the code.