I use actions a lot. In fact, sometimes I group related sets of actions into data modules, then use the data modules in the forms.
Instead of double-clicking event handlers and calling procedures to do the work (or Execute methods of actions), just hook the actions directly up to the controls.
The caption of the TAction becomes the caption of the menu or button; the Execute event of the TAction becomes the OnClick event handler of the Menu or Button. You can also provide icons for the associated controls right within a TActionList as well.
Later, if you decide to change the user interface from using menus to using buttons (for example), you don't have to change the captions or event handlers but just assign the TAction!
There are many other ways and probably some more "pure MVC or MVVM" but this has worked really well for me.