The basic idea is that you would create target points for the camera, you can use a Node3D/Spatial for this. Then when the camera gets close to a target, it will slowly move there and/or rotate to the desired position. Some shots may need 2 points or a curve. You can create curves in the editor Curve3D, and then move the Camera along the curve. And then if the Camera is further than a certain distance from one of the points, it will return to the normal 3rd person camera. It's kind of hard to get right, but this is the basic idea.