It seems that most engines do have those rotation methods.
XNA has one in it's
// Returns a new Vector3 that results from the rotation.
public static Vector3 Transform (
three.js has the function exactly as you wrote it.
In Unity's case, their
Vector3.Rotate() method might be internally implemented as a quaternion rotation. It accepts an arbitrary axis and angle, which is all that is required.
//a quaternion is...
[sin(angle / 2) * [axis], cos(angle/ 2)]
//which expands to a 4-vector like...
[sin( angle / 2 ) * axis_x,
sin( angle / 2 ) * axis_y,
sin( angle / 2 ) * axis_z,
cos( angle / 2 )
Regardless, there's no reason the function can't be implemented manually, as you said. You can wrap it in a helper if you want to. Game Engine Architecture by Jason Gregory has a thorough enough explanation of its implementation, but it does not attempt to prove the 4-dimensional math. It does prove that they are equivalent to Matrix rotations, while requiring fewer total multiplications.