It seems that most engines do have those rotation methods.
XNA has one in it's Vector3 struct.
// Returns a new Vector3 that results from the rotation. public static Vector3 Transform ( Vector3 value, Quaternion rotation )
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.