How can I bevel geometry that approximates a curve? Consider a mesh like this:



This one is created by bisecting a sphere with some planes and then carving out another sphere out of it with the Boolean operator, but for the purposes of this question, any "curved" mesh will do.

How can I bevel the "curvy" edges of such a mesh? It consists of many faces and edges (because of the sphere geometry), but even if I select all those edges individually (see below) and then try to apply beveling only to those edges, the result is a huge mess. It either "stops at the next nearest edge" (best case) or produces a broken geometry. For more complex shapes, the result is really really bad.



I understand why this happens; for Blender, this mesh is not a set of "4 flat faces and 2 curved faces", it's a set of many small, flat faces, past which beveling doesn't really work.

I can, of course, bevel things manually by doing something like... create a torus that would just barely touch the mesh along two of its "faces", then create a cylinder from which the torus would carve out a chunk with a Boolean operator, then Bool that "beveling object" out of my mesh. All of this requires a massive amount of precise calculations with trigonometry. I've done this before when I absolutely had to, and it's not fun. Below you can see a quick illustration of this "manual beveling" process (ignore the slight mesh imperfection in the last image, I made a typo in the exact coordinate during one of the steps).



Is there a way to do such beveling (of "curved edges", not flat ones!) with a few clicks?

I've searched extensively for things like "beveling an already curved object" and so on, but it wasn't fruitful.

Link to the example file, as requested in the comments: https://www.sendspace.com/file/uf79rx
All you need to do is remove this stray vertex here (merge the vertex with the one above it and dissolve the edge) to make all sides edge-loops.



Then everything bevels beautifully.