When I need to clean up I'd like to use recentf-edit-list but I can't find a way to select rows other than via mouse.
The recentf-edit-list command creates a buffer in the recentf-dialog-mode major-mode. While in this buffer, you can press C-h m to get a description of the major-mode with a list of its keybindings.
The second keybinding in the list is RET, which is bound to widget-button-press. The checkboxes displayed in the recentf-edit-list buffer are widgets. So that seems promising. We can test it by pressing return/enter with point on one of the checkbox widgets, and it will toggle that checkbox, which means that that row has been selected.
When recentf-edit-list creates its buffer, it places point already on the first checkbox, so you should be able to use the n and p keys and move point down to the next checkbox, or up to the last one, and then just press RET to toggle whether a file should be removed from the list.
After selecting the files you want to remove, you can press C-c C-c to remove them from the list and kill the buffer. But note that if you check the contents of the "~/.emacs.d/recentf" file at this point, your removed files will still be listed there. The changes are first made in memory and aren't saved until you either quit Emacs or save the recentf list to disk using the File menu or by typing M-x recentf-save-list RET.
Also, it would be convenient if recentf-edit-list showed up in the same order as recentf-open-files.
On my Emacs, they do appear in the same order. But that's because I leave recentf-menu-filter at its default value of nil. You can set it to recentf-arrange-by-mode as you have done, and this causes recentf-open-files to present all but the first 10 recent files grouped by major-mode (quite nice!). (It doesn't group the ten most recent ones, because those are presented with numeric hotkeys next to them, allowing quick selection of the very most recent files.)
After browsing the source code of recentf.el, it's clear that the recentf-menu-filter setting is only used when generating the buffer for recentf-open-files and is not used by recentf-edit-list.
Although both commands present the list of recent files, they do so in different ways and for different purposes, one for opening a single file, and the other for selecting multiple files to be removed.
I can see how it would be nice to have the same grouped presentation when pruning the list. But it appears that feature wasn't developed for the recentf-edit-list command.