you have probably all noticed that for internal IRQ sources coming from internal peripherals and going to the AIC, there is the possibility to configure the source type as Edge Triggered detection or Level Sensitive detection.

But what is the best one to use

If we take the case that you only have one not nested interrupt at a time to manage in your application (I have a doubt... ), you can use the edge triggerred mode. But when there are severals IRQs to manage from one peripheral, by using the edge triggered way, you may lose IRQs if the first IRQ has not been treated fast enough to get another one from the same peripheral. The document attached with this topic gives you the explaination. To conclude there is no particular reason to use the edge triggered mode for internal IRQs.

I see what you're saying with the edge triggered IRQs being lost, but I guess my answer is that I would use edge triggered IRQs in any case where (a) I need one-shot functionality and (b) that isn't a concern (which I presume is most of the time).