You can let it fly on a CatmullRomCurve3. By specifying a Local System (e1,e2,e3) at selected points you can determine its position in space.
Quaternion - method .setFromBasis( e1, e2, e3 )
See from the Collection of examples from discourse.threejs.org
FlightRouteQuaternion
BasisToQuaternion
CarRacingQuaternion
BeginnerExample step 15