Hard surface modeling on cylinder
Edge Crease

Use the subsurf, but insted of loop cuts, select the sharp edges, and press CTRL + SHIFT + E then 1 which will make the crease of those edges one.



Advice

Instead of autosmooth, you could use smooth shading and an edge split modifier after the subsurf. If you select both angle based and sharp edge splitting, you can add additional sharp edges by selecting them and marking them sharp at the CTRL + E menu.


Edit One

The edge split actually messes up the pointiness. You can use the auto sharp as originally.



The Blend



Edit Two



The edge crease - besides retaining the sharpness of the inset - also makes those edges not going little deeper, where they should. This is demonstrated by this simple circle:



You can start from a higher resolution cylinder to make those glitches less apparent. The higher the resolution of the base mesh, the less that glitch is visible:





Note: The mesh density at the part where you want to use the pointyness is important, other loop cuts may be  removed. I have also updated the Blend.