Во-первых, уточнение: на Android код выполняется не во время выполнения Java, а в Dalvik (написанный Google с нуля). Таким образом, производительность Java VM не имеет отношения к этому вопросу.
С учетом этого: большинство программ на Android не выполняют собственный код, а работают на Dalvik VM (которая выполняет переведенный байт-код Java). Моно JIT ранее сравнивался с ним и постоянно находился быстрее (проверьте, например, http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html).
В iOS MonoTouch должен предварительно скомпилировать код в собственное приложение, прежде чем его можно будет установить на устройстве Apple (из-за лицензионных ограничений, которые применяются операционной системой). Тем не менее, и Objective C компилятор, и Ahead Of Time Compilation Mono используют один и тот же LLVM бэкэнд для генерации и оптимизации двоичного кода, так что результаты вы получите должно быть почти идентичным (с некоторыми накладными расходами памяти для Mono).
Пожалуйста, помните одну важную цитату Дональда Кнута: «Преждевременная оптимизация - корень всего зла». Напишите свой код с учетом производительности, но помните, что удобство сопровождения важнее. Оптимизация должна проводиться только тогда, когда это необходимо (потому что обычно компилятор будет работать намного лучше, чем вы).