I found the nRF peripherals limiting even with the event system
Do you have any specific example in mind?
Has served me well, but to be honest I haven't done much beyond timers, radio, SPI and some UART-based protocols.
In addition to the event/task routing, I like the idea how they managed to
force people into using DMA by making it actually
easier than
not using DMA. So basically if you want to receive up to 10 bytes by SPI, you just put the address of the buffer and the length (ten) into the SPI peripheral registers and it just works, instead of mapping DMA channels and configuring DMA config registers and whatnot. Also easier than getting an interrupt for every byte and managing the buffer in software. Win-win.