How to combine sharp and smooth edges?
Try the Edge split modifier. It will duplicate any sharp edge in your model before smoothing, making it looking sharp too. Look at this image:



Top left is an object without smoothing. Top right is with smoothing. It is not looking good. I only want smoothing along the top portion that is curved.

Bottom left is where I have added the Edge split modifier. This is the normal setting. This means any edge sharper than 30 degrees will be considered sharp (not smooth).

If this angle is not suitable, you can also manually select what edges should be sharp, see bottom right. Select edges, hit Ctrl+E to bring up this menu.

Here is an image of the settings for the Edge split modifier. It is very simple. You can control the angle cutoff and if you want to use manually marked edges.