On the technical side we faced a few chanllanges. The first was reliability. Our planes were small <10 lbs, but would enevitly go down and be very difficult to recover. After the first couple crashes we designed a protective shell around the expensive bits. Causes of the crashes we always unique, from a loose connection, to interference.
The next biggest problem was battery life, ours was an electric system and getting more flight time in the tiny platform was difficult. This of course limited the range which limited it usefullness.
Otherwise, we solved the autonomy with off-the-shelve components (albeit military grade). Otherwise most other issues were resolved with software (flight planning, data recovery, etc).
Our application was aerial imaging, I imagine other applications would have another set of problems.