After using Xamarin.Forms for a few weeks, it's becoming apparent that while promising, the library is full of bugs, which are often major and even in some cases indicative of larger design issues.
Most of the bugs in my code that aren't obvious coding mistakes turn out to be bugs in the framework, and a ton of time is being spent looking through decompiled Xamarin.Forms code, finding the issue, filing it (or discovering that it's already fixed but no release has been done with the fix!) and then working around it in code, sometimes requiring major hacks.
The current releases are so lacking in features that one is forced to use a development version, resulting in exposure to even more issues, and fixing those issues yourself is severely hampered by the non-public classes and members in the library and the lack of source code.
Developing with Xamarin.Forms is at the moment a really frustrating experience, and it would be hard to recommend the library in its current state.
What needs to be done
The most important and easiest thing that needs to be done is more frequent releases.
There needs to be at least a release per week, and there should be nightly builds. When a major bug is fixed (where "major" means anything not easily worked around or that hits at random times), a release should be done immediately afterwards.
It should never happen that one looks at the bug tracker, sees a response stating that the bug is fixed on the development branch, and yet no prerelease with the fix is available.
Then, we REALLY need the source code. At this point, the framework is so buggy, incomplete, and undocumented that the only way to have a good experience with it would be to read the source code for documentation, and to fix the bugs and add the missing features yourself. The more one uses Xamarin.Forms, the more obvious it is that not having the source code severely hampers one's ability to use it.
Note that it's enough to release the source code under a fully proprietary license with only permission to ship derived works as part of an app, you don't need to use an open source license (although that would be even better and unlikely to affect revenues since you are charging for the Xamarin.iOS/Android platforms anyway).