Such a challenging thing to get right. I am still not 100% happy with it. Would love to know the proper way to model this.
A cylinder set to 8 sides and then a boolean rectangle object to cut out the sides would be a streamlined way to go with it. You may need to clean up a little but shouldn't be terrible.
As simple as it looks at first glance, this kind of screw is (almost?) impossible to make perfect with Subsurf modeling.
The logical thing to do, is to not use a Subdivision Surface Modifier (make the screw as a separate Object), something simple like this:
This was made from a default Circle (I know, it's easier to start with a Cylinder...); the number of Vertices influences the width of the slit.
And long live the N-Gons! (I remember the time when N-Gons weren't yet supported in blender....)