I have built multiple iOS and Android apps with Xamarin and found the experience to be great. I love C# so being able to use that was a plus and there are some cases where Xamarin made the APIs of the native platform a bit cleaner by implementing some abstractions. All the native plumbing was still there but implementing a tableview in Xamarin on iOS was quite a bit shorter in code than in ObjC.
It really is a phenomenal piece of engineering.
Biggest drawback, hard to find examples of things in C# so you have to be able to read documentation and code samples in ObjC or Java and mentally map them to C#.