Hi and welcome Leon,
A lot of projects do use subflows for crud actions, and while it's not listed as a best practice in the docs, from a security and maintainability perspective it should be. Using a sub for commit, get create and delete actions has many advantages but the drawback is that project members often don't have the discipline to consistently use them. Several times I've seen projects run into trouble for not using crud flows, especially the larger ones.
Several questions in one, so I am going to pick just the one about cascade delete. Obvious answer is: Depends on your requirements...
Using a microflow you have more control over what you are doing and maybe create additional logic in stead of automatically executing the cascade delete. Furthermore when using cascade delete, you will have to make sure that the person deleting the main object also has the credentials to delete the associated object, otherwise you will get a generic error. In a microflow you can add custom error handling.
Thanks for your answers Lenart and Micah!
Much appreciated :)