Probably depends a lot on the mechnasim it's attached to, and how precise you need it's spin to be.
For instance, we have a 5 lb wheel that we have a CIMcoder + miniCIM running off a talon. When we remove power and leave the talon in coast mode, it maintains it's speed pretty well (until it has any load obviously). It also takes a fair bit of effort to spin it up, so the bang-bang type method might actually be the preferred method. Functionally - I'd argue this is pretty much a crude PID control with a high P.
If you have a mechansim without that much inertia, under a higher load, or that you need more finely controlled - then PID is definitely a good way to go. I can say first hand that the talon has a lot of good documentation for Java. I think it does for Labview and C++ too:
https://www.ctr-electronics.com/Talo...e%20Manual.pdf