Why does "sin(frame)" where frame is "1" set a shape key to 0.841 and not 0.017?
The sin function expects angles in radians, rather than in degrees,
which is why the correct driver expression will be:

sin(radians(frame))


Here's an example of this expression driving the Z value of a cube (you can see that it does indeed get negative values as well, and oscillates between -1 to 1):


Though as you pointed out, shapekeys have a min value of 0 and a max value of 1.