Roll control was the objective of the
Midwest High Power Rocketry Competition a few years ago.
Two launches were required. On the first, the objective was to minimize the rocket's roll between burnout and deployment. On the second, the objective was to direct a fixed camera to cardinal directions by rolling the rocket.
A lot of teams (including mine) used reaction wheels. Most of the rest used control surfaces. One used a cold gas expansion system that I don't remember much about. (Rollerons were not allowed because they are not an active system.)
There weren't any complete successes, probably because tuning something like this requires a lot of flights beyond the timeline and budget of college teams.
If you want to make a system like these, it might be worth reaching out to Gary Stroick (President/Owner of
OffWeGo Rocketry, one of the runners of the competition), he probably has all of the teams' reports.
The basic approach we took was to design a rocket with a ballpark payload mass for the motor/wheel/battery/etc., then determine the roll moment of inertia. From that, an assumed initial roll (1.5 Hz IIRC) and a chosen roll acceleration (be able to turn 90 degrees in 1 second, IIRC) we sized an electric motor and reaction wheel. Then a lot of iteration (Change in mass changes MoI of rocket, changes required MoI of wheel, etc.). After it was built, there was a fair amount of PID tuning and ground testing.