With streaming, I would emphasis how important the software is. To be honest, I think it's the key factor that is going to determine whether you enjoy the streaming experience or not. It is probably why Roon is making such headway. Also it is worth considering how you intend interacting with the streamer:
From a laptop browser - For this the Raspberry Pi interfaces are actually as good as anything. They are easy to use and work well. The hard(ish) part of the Raspberry Pi solutions is setting them up. Once set up, they are as easy to use as any other solution - especially if you are happy to access them via a computer browser.
From a phone/tablet - For this type of access the quality of the app is key, and it's what systems like Yamaha's MultiCast, and Bluesounds' BluOS bring to the party. For me, it was the death-nail for my Marantz NA-7004 - the software for which was just crap. For many streamers you can use
BubbleUPNP which is good, but not quite as good as some of the dedicated solutions can be.
From the player front panel - To be honest, I've not had a system that's done this well. The Logitech Squeezebox Touch is probably the best know attempt to provide this (I've not used one myself), but most systems designers seem to have accepted that using a phone/tablet as the main interface is a lot easier. Nowadays - I think front panels should be consider a secondary input (useful for displaying information about the currently track and basic operations like stop and start play).
Another important question is whether you only want to stream in one place at a time, or to multiple places around the house. This is what the dedicated streamer/speaker solutions like Yamaha's Multicast bring. It's very difficult to do with Raspberry Pi and BubbleUPNP type solutions.
My main streamer is a Moon Mind 180 that for me is the perfect combination of nice to use software interface with very good quality sound, and this is connected to my main Hi-Fi. I have a backup of using BubbleUPNP directly to my Melco (which is my main storage device). I also use BubbleUPNP to stream to some of the devices I have around the house (Roberts radios mainly) which works fine, but only one device at a time. I also have some uPNP software on my laptops and PCs that allow me to stream music via them. The main thing I can't do at the moment is stream simultaneously to many endpoints, which means I am considered something like the Yamaha WXC50