My 5 cents, on the Volto side of things, although this is not about Volto vs Diazo fight:
If you use Diazo for rapid prototyping, there are a lot of tools that can go from the design to React directly (even with behavior on them), and back again (so the roundtrip is supported). Look for Figma React and others. That should work with Volto or even with plain React for early stages of development.
Regarding customization, of the presentation only part, when it comes to the current components, it's known that the current shape of the Volto components need to be splitted between the logic and the presentation to make easier and more accurate the customization story. Some of the current components are too big (even huge). We will get there.
It is also known that Volto needs more insertion points, and I can say there is an effort to design how to implement them in the most approachable and extensible way, Plone style.
At the end, we all know that "implementations change, but ideas remain". You won't see a Diazo implementation in JS, but we have enough experience with how theming works and what works and what doesn't we have to make Volto provide this knowledge in the form of familiar patterns for theming/customization story.
Regarding theme fragments, a theme fragment is a view that does/renders something and you put it somewhere in the DOM, right? In React, that is a component, placed with a React Portal whereever you want. Again, concepts and ideas are the same, implementations and naming differs.
To end, during my talk last year I mentioned Diazo a bit let me rant about it again.
Any of you remember Diazo motto?
“We write XSLT so you don’t have to”
I even think it's on the documentation. I laugh at it every time I remember it.
After all these years of experience implementing Plone themes, (including Barceloneta itself), I got to the conclusion that Diazo was at the same time, both the most amazing technology Plone ever got to add to its stack and the worse one, at the same time. If you ever tried to teach Diazo (while teaching Plone Theming) you know what I'm talking about. Let me explain.
It's the most amazing because it allowed power users to achieve all the "wow" moments and the agility for prototyping that you all have mentioned. It provided an easy, magical way to modify "on the fly" HTML to match your desired one, to amazingly place dynamic pieces here and there in a store-bought theme.
BUT, sorry Diazo, it also was the worse, because the “we write XSLT so you don’t have to” was a lie, and because of it, it has the privilege to be the least approachable technology in the whole Plone stack. The truth is, that if you really wanted to do magic, you'll have to learn XSLT and come up with terrible transforms, just to keep the simplest class attribute to not break the CSS of your pre-baked shopped theme.
I found incredibly simplest (to teach, to implement, etc) to just shadow whatever thing you have to change with the HTML of the desired design, even in plain Plone using JBOT.
BTW, @pigeonflight thanks for your famous "Diazo snippets", it was countless of times I used them as a documentation reference while writing my themes.
So yeah, I'm not going to miss Diazo if at some point it just go away.