I agree to letting Editors have widget and menu access, but not access to the rest of the them controls. This is my request to the WordPress peeps with regard to improving capabilities.
I use Editor role for the site owner. This is a regular person who needs a website and has learned how easy and amazing it is to maintain their content with WordPress as the CMS.
For safety, I maintain admin controls for necessary updates. These are safely out of harms way as they are not accessible to the Editor.
Widget access is necessary for the non-automatic widgets, such as adding a special offer banners and other small changes.
Thinking about this, wouldn't it be great if you could log in as admin and 'set capability' options on each left hand menu item?
Also, Facebook for example has a privacy preview, so you can view your FB page as a person on a half, or custom list would see it. It is a really useful feature. Currently on WP (and using something like Capability Manager), you have to tick off capabilities, then log out and log in as the other user to check if you've given correct privileges. It is a tedious process.
BTW, thank you enailor for providing that code - agreed the solution is not perfect, but the best on the current WP set up.