Hi Pedro,
i think that there is no rule of thumb when to perform the action in the block or in its parent screen. Strongly depends on your use case and lets say the reusability of your blocks. My rule of thumb is "Saves are performed by the owner of the data" <- that can be a screen or a block.
Example
Lets say you have a task application which just stores user assigned tasks and allows users to read and update task items. Now you create some other applications and you want to allow users to create task items on various screens. In that case it would make sense to create a core widget module for your task application which contains a block with a form to create a task. The block would of course also contain the save operation and expose an OnSaved event (with or without the saved task). The block can than be added to your various applications and your consuming application do not have to implement the save logic. All is encapsulated in your core widget/block.
The same is of course true for reusing a block in various screens in a single application.
Best
Stefan