Hi @pool7. My recommendation is to use PINN , but then I'm biased!
It's not perfect, but I'm working on new features all the time.
One of the aims of NOOBS was to be able to easily restore an OS image when it became messed up, allowing a beginner to experiment in relative safety. This is not so useful in a multi-boot scenario though because in order to restore one OS, it is necessary to restore ALL OSes at the same time.
I have just managed to remove this limitation in PINN so it is now possible to restore a single OS to its "factory default" without affecting the other installed OSes. This does not mean you can replace an installed OS with a different one though (yet...!)
All 3 of those bootloaders uses specific OS image formats. In the case of Berryboot, it uses squashfs images, but there are quite a few of them to choose from. NOOBS/PINN concentrate on .tar.xz images since another aim was to make the OS image as small as possible. They will both install img files, but they need one img file per partition and some support meta-files to customise them for the multi-boot environment. So they cannot multi-boot a traditional img file directly (there are some technical adaptions that are needed), but I'm thinking about increased support for it in PINN. Full instructions on how to create NOOBS/PINN images is provided in my readme and wiki pages on my github.
The main difference between the operation of Berryboot and the other 2 is that Berryboot uses it's own kernel for all the OSes, whereas NOOBS/PINN allow each OS to use their own kernel. Normally this does not make a difference unless you need a specific kernel, for one or more OSes, such as a kernel with Xenomai extensions for real time support, for example. IIRC, Berryboot does not require dedicated partitions for each OS either.
I hope that clarifies some of your points.