Rotations in 3D are done with rotation matrix. You have to have 3 Euler's angles defined (rotations around axis Z, then Axis Y and finally axis X). There are other variants. One of the sources is here:
The second statement here is conversion of degrees to radians. It seems you already did it in the first statement. The result of the first statement must be in radians.
It may be that you've converted the angle wrong.
atan2 returns the angle in radians whereas the SFML functions work with degrees, so your conversion is backwards.
Does rotation = (rotation * 180) / PI; work any better?
No, that makes it violently rotate. I'm really confused on why this is not working. This is apart of a big project but nothing should be interfering with this part.