And exchange programs are equally chaotic.
It's a massive undertaking. And it requires a one-stop shop for the student to work properly.
A key question is whether you have administrative support for this or not. By which I mean, someone on full-time salary who, for part of the year, does nothing but process these applications. Usually a faculty member needs to approve the forms, but it's best if the legwork is done before hand. Otherwise...it just won't happen.
(and then the exchange students complain because they want something to take something like 20 credits in a subject we are not even teaching that semester).
The Erasmus coordination staff can also handle this, so the Learning Agreements are properly filled out by the time the faculty member gets them. That, in turn, requires the department to provide timely information to the Erasmus Coordinator on which courses are being offered.
Beyond that, I would say one problem in practice with the Erasmus programme from an implementation standpoint is that the agreements are on the departmental level. Let's say you're an exchange student studying anthropology. You want to take a cool course in sociology at your exchange institution as one of your electives, but you may not be able to do so, because there's no department2department agreement. If it were an anthropology course, you wouldn't have people telling you 'This course is very popular, and it's closed', but they very well may in another department. A lot of students find themselve in limbo until well into the add/drop period. The chaos can be breathtaking.