Building applications with Mono for Android is fun, I kind of like having the full Linq API, the task parallel library and the rest of the .NET framework at my finger types. Java is great too, but it isn't my primary programming language, so I am missing a few tricks to get the most out of it. So C# and Mono for Android is the way to go even if I do Android-only development.
There's also a downside to using Mono for Android. And that is exactly the thing I'm not using, Java. Because you're working in a universe with two garbage collectors and two typesets, you're constantly balancing on a very thin line. If you go too wild with your code you will make one of the garbage collectors upset and your app will crash. It can be a rather frustrating experience.