You don't find the angle because you don't need it. Just a vector in the direction of travel. So point at etc are all just x,y coordinates its easy to find the vector pointing in that direction. Now assume x is imaginary (or is it y) and complex multiplication is adding angles. Angles you never need to know. Normalization is *much* faster than trig and esp atan2. Sqrt are pretty fast in comparison to trig functions. Done right you can avoid to much normalization too.

Really trig functions are pretty expensive and inverse trig even more so.

In 3D yes, because you could just align your objects in an orthogonal matrix. And a normalized direction vector would be faster and simpler because in 3D, spherical coordinates need 2 angles (azimuth and elevation) and 5 trig functions to convert to rectangular coordinates. But in a 2D game, I still could not find a better way to align my rotated sprites without the use of *atan2().

*Excepting bezier splines, catmull-rom splines, etc. which you can get the component vectors by finding the differential.