What's the most elegant way to cut shapes out of a mesh?
Yes your initial array method will work. Here is the model of a circle. I have extruded it into a cylinder and delete the faces I don't need and apply an array modifier to get the below mesh. I have intentionally left out the last array object. With the mid-edge of the original mesh selected ...



Hit CtrlB to bevel the edge and you should achieve this...



Next with K I have added a cut using knife tool between the bevel like this ...



Now I will extrude downwards with the E to make a depth for the groove...



Before finalising the cut I will add a subdiv modifier. And the modifier stack looks like below. The object offset is an empty with a 22.5 degree rotation to create the array copies, rotating around the mesh's origin point.



Finalising those loop cuts in 4 locations shown here.

And now this is the mesh I have. From here on out you can either bake the normals of the highres mesh onto a low res mesh. Or clean up the highres mesh so that it's not too high a poly for efficiency sake. Hope it helps




And here's the Blend file for your reference.