You can do it right on the Copy SOP's rotation values.
You will see that I hacked in a rotate to slightly offset the teeth in one of the Copy SOP rotate values (yes a quick hack but a good prototype). Nothing wrong with this at all btw if it does what you want to do.
Be sure that you toggle off the “Transform Cumulative” on the Copy SOP to do this.
A second approach is to manipulate the N and up vectors directly in the Attribute VOP SOP. You can use the Transform Matrix VOP to add rotate transforms to the N and up vectors directly. No radians, actual rotate values here. One of the rare exceptions in VOPs/VEX where you do use rotates rather than radians to describe rotate values.
Then you can add a Random VOP and wire in the point number as a seed then use a Fit Range VOP to map the 0-1 random value to say -10 and +10 for all three vector values in the Fit Range Vop. Now wire this in to the Transform Matrix VOP R input to rotate the vectors. Change the fit range to suit. Promote the parameters up for artist control.
jeff A second approach is to manipulate the N and up vectors directly in the Attribute VOP SOP….
It should be noted that this is also a good technique for copying geometry to particles. N and up vector are used but so is velocity. These three define a local coordinate system, with “v” analogous to the Z-axis, your up vector the Y-axis and your normal the X-axis. Doing cross-products of an axis against the “velocity” gets you the alternate perpendicular component (N to get Up, or vice versa).
I've used this to copy geometry to points carved from curved paths as well, versus particles, where the next point along the path acts like a velocity component, or you could trail. Adding in your own “banking” or orbiting or other rotational maneuvers and random variation isn't too hard with the Copy SOP but I'll have to give that VOP a try next time.