I'd have to say that I would normally agree with you about having a GUI for something that makes 3D objects. In many ways, I do that manually with POV by doing a lot of quick renders and coding so that all the placement work is done at a "low res" setting. In essence this is what a graphical front end does for you. All the hi powered rendering effects are simply not shown by the front end for the same obvious reasons.

I suspect that my Hardware Engineering background makes me prone to wanting complete control of the situation. Pushing 3D wire representations "loosely" where they should go isn't quite control enough for me. I know you can type the numbers into the relevant dialogues but I do that now, in text.
In reality though, I think it comes down to "visualization". If I'm looking at a GUI "3D view" of a scene, I'm still only seeing a 2D projection of it. I find myself pushing something into place only to discover that it is, in fact, 10 feet behind where I thought it was and I've just been seeing it wrong! If you start from the premise that all your "stuff" has coordinates you generated/calculated then your degree of control is next to complete. Looking at my little train, I have no doubt it would have been a nightmare, for me, using a GUI !
My "GUI" was essentially "in my head" - I have learned to visualize 3D mentally. Well, most of the time!

There is a front end for POVRay you might try, called Moray, which POVray have taken control of and is available there. I tried it a while back after I'd been working purely in POVRay and didn't like it.

Your glasses example is a good one. POVray is not geared up for this sort of thing directly as far as I've seen, but I feel sure there's some expert out there who'd say different. The issue here is basically one of primitives vs meshes and that looks like something to do with a mesh, whatever tool you use. As far as I've seen, POVRay itself does not support creating/editing meshes, but can accept all sorts from elsewhere. Just try searching for converters and they usually pop up. Since I like free stuff on principle I used jpatch when I needed some "odd" shapes for my train.

All that said, and I agree with what you've said, the use of primitives is fine for the sort of stuff people would want to make here for mapping purposes, I think. Coupled with height_fields, you can pretty much do whatever you like. Couple that with the simplicity of cut and pasting bits and bobs around your different designs and the include file capabilities - all done in something as transparent as text, well, WYSIWYG. I don't find myself fighting some GUI trying to make it do something I know it ought to be able to do, I just can't make it do it!!! Aaargh!

As a final point. I have used POVray language elements more since I joined this forum, inspired by comments ! If you look at my Tin Man competition entry, I coded in leaves blown in swathes over the floor. I did this using a "height_field" in a weird way. I had a black image I sprayed with white dots using Paintshop, then wrote a routine that scanned this pseudo-height_field for all the "high points" and plotted a simple 7 sided flat leaf at each point on the render, after randomizing its rotation and adjusting it's height to the actual height_field. Is there a GUI renderer that can do that, for 10,000 leaves? It was fun anyway!