For vsftpd, I think we can enforce TLS as per userconf file and default to opportunistic TLS or the reverse. I'll see. I even think that we can just disable TLS for panel with specific vsftpd conffile for the panel.
To resusme: for vsftpd, we must also create specific userconf file for the panel user (vu2000) instead of putting that user info into main conffile. See http://vsftpd.beasts.org/vsftpd_conf.html
Then here, to enforce TLS for all customer, we set force_local_logins_ssl to YES in main conffile and we set force_local_logins_ssl to NO in panel user conffile. Then, problem is solved.
BTW:
in 1.4.x (It is too later for 1.3.x because the branch is frozen), we should add new dialogs allowing the administrator to choose between two TLS modes (if SSL is enabled):
Opportunistic: TLS is available but not mandatory.
Enforced: TLS is always required.
We should provide those modes for all services (Ftp, SMTP, POP, IMAP). What do you think about that?