There are lot of solutions, you may find, that are integrated with Dynamics 365. From my experience I can share some thoughts about Flex Property by Yavica. I have been working in past on client side in 2 organizations, that were using this solution. Yavica's product can be integrated with D365 F&O but as well with CRM/CE. In my case we were using F&O in one org, and earlier experience was with AX2012 (before Yavica acquired Flex).
Flex Property is handling most of cases related to both commercial & residential property management. In my case I can share thougths related to commercial properties only. We have used it to administer the lease contracts in full life cycle from pre-lease to termination. There are some quite nicely designed functionalities, that allow to steer processes via concept of lease clauses. Some of them can impact the calculation of specific payments related to leases. Others can control automated renewals or adjustments.
Rent & other charges can be defined using multi-currency approach, with flexible fx conversion parameters (e.g. fx rate tables, date of rate, etc.). There is as well advanced concept of service charges & reinvoicing direct costs, but it has to be carefully planned during implementation phase, otherwise you may end with preference of doing it outside of system. Other things worth noticing is possibility to track tenants turnover & calculate additional rent on that base, or rent indexation/adjustment with very flexible configurations possible (different CPIs, methods, manual indexes, step-up rents) & automated up-charging past periods if applicable.
Product is embedded in F&O, so recurring billings can be automated as batch jobs. There is direct integration with Accounts Receivable, so Flex is directly generating sales orders to be posted as invoices in AR.
I cannot say anything about maintenance orders part, as we were not using that. Anyways Flex does have robust built in part concerning property maintenance as well. It may require to implement e.g. mobile field service to be fully utilized, but should support processes in this area quite perfectly.
There is pretty good support from Yavica side, but since most of it is outsourced in Asia, you may encounter slight language/accent barrier. Anyways there are extensive workshops & trainings provided by them.
One of the biggest challenges might be a data migration: since Flex does have bit complex structure & hierarchy of properties/units - the migration should be treated with respect. Particular data entities must be migrated in specific order & definitely you will need to allocate sufficient amount of resources towards migration.
Another worth mentioning observation is, that Flex is very robust solution. This has a price of complex setup & configuration to be maintained. Lack of understanding of concepts may lead to unnecessary customizations, which should be avoided. You need as well to think how to adapt your processes to the concepts of Flex, not other way around.
Steep learning curve, but that mostly relates to the teams not having lot of experience in Dynamics at all.
By general I would say these challenges are not typical just to Flex, but towards all ERP implementations. You just need to do it with reliable partner, so it can save you a lot of time and head aches.