How can I smooth an object and keep the edges nicely beveled?
You seem to indicate two problems here.

Fireflies are usually a sign of rendering with too few samples and/or a very tiny light source. They are not directly related to bevel and subdivision modifiers.

To keep sharp edges sharp, you can set a crease value on selected edges (Shift-E) for the subdivision modifier. In the bevel modifier, set "Limit method" to "angle" with a value of 50°-80°.  Or, if you want different bevel widths on different edges, you can use bevel weight ("Weight" in "Limit method", then select edges and modify bevel weight through Ctrl-E.
Note that the order of the bevel and subdivide modifier is also important.

You'll often also need to set smooth shading, and in that case you might want to activate "Auto smooth" in the "Normals" section of the "data" tab (the one marked with an inverted triangle). Here also, set the angle to taste. Or mark some edges as 'sharp'.