Is there any way to make the surface look smoother without subdiv or smooth shading?
Welcome to Blender Stack Exchange!

From the image you provided, it looks like smooth shading will be the best option. To fix the issues you mentioned, there is an option called auto smooth. It can be found under the Normals heading in the Object Data Properties panel, which is the little green triangle icon at the bottom right of your image. 

If you enable smooth shading then turn on this option, it will keep edges above a certain angle sharp. You may have to adjust this angle, but the default is often pretty good. So for example the edge of the chamber will still have a nice crisp edge.

Here's a comparison that shows the difference between the different shading options. The first is flat shading, the second is smooth shading (with the issues you mention), and the third is smooth shading with auto smooth turned on.