Если коротко - можно, а если подлиннее то xamarin xamarin'у рознь.
Есть "нативный" xamarin - это обертка на C# над нативными API каждой платформы с поддержкой до 100% нативных API и нативной версткой UI хорошо знакомой разработчикам ios и android. Используя "нативный" xamarin делается общая логика, а UI делается привычными средствами для ios и android разработчиков со всеми вытекающими.
А есть Xamarin Forms - это уже высокоуровневая технология, которая работает поверх "нативного" xamarin, с общими контроллами. Очень грубо говоря: написали в одном месте работает везде. Очевидное преимущество Xamarin Forms - от 80 до 100% общего кода для разных платформ, очевидный недостаток - дополнительное время на какие-нибудь платформозависимые вещи, вещи которые на разных платформах реализуются по-разному, ну и контролы в xamarin forms приведены к общему кроссплатформенному знаменателю. так что некоторые фичи могут быть недоступны по умолчанию. Почти все проблемы решаемы, нужно только время.
Из этих двух определений получаем два промежуточных вывода:
1. Если нужно использовать сложные платформенные фичи, анимации и т.д - используем "нативный" xamarin
2. Если важна именно кроссплатформенность, даже при разработке UI, - используем Xamarin Forms
Очевидно что очень часто бизнес-приложения не имеют сложных анимаций, каких-то нестандартных контролов. Вот тут то и нужен Xamarin Forms - максимум кроссплатформенности.
Но тут возникает проблема что заказчики и владельцы бизнесов часто думают: "Ага, раз штука кроссплатформенная, значит разработчики могут не знать нативную разработку" И это одна из самых главных ошибок, которая может привести к затягиванию сроков и даже срыву проекта. Так что либо нужно иметь в команде хотя бы по одному опытному нативному разработчику, либо заказывать разработку у специалистов набивших шишки на XF, либо закладывать в проект дополнительные риски и увеличивать срок разработки.