Here are my findings with ftpd. Most versions of it dont work as intended. There is a version m4xw compiled that works perfectly - and is stable. Both directions. Use that one. (I'm not using a kip ftp either although I could).
Let me repeat that. Use that one. Its the only one thats stable in both directions. Tested several dozens of times.
If you want to recommend a ftp client on the PC side - dont. Its an ftp client. The thing you learned to do with your smartphone? You know - like recommending apps and stuff? Turns out thats not even a thing. Thats a fad. Rather trust in standards and standard implementation. No recommendations needed. You have a great ftp client? I dont care. Any ftp client will do. I was using cyberduck, before I switched to filezilla on the Mac - zero issues with both. In filezilla I have max 1 connection active at a time set for the switch entry. Never had a single problem with it.
Now to the actual "copy me here" tip.
My switches wifi sucks. Extremely.
Here is what you (/I) do to get the ftp working regardlessly. Go to the main menu. If you see only gray bars or no bars in the wifi icon, go to internet, scan for wifi connections and connect manually. In my case there is a proxy between the switch and the internet - so I get the proxys landing page - and dont connect to big N. From the landing page - press home, and you should see your switch now showing as connected with black bars. ONLY THEN, start ftpd.
If you do that - establishing a connection - works all the time, everytime. If you dont - it doesnt (frequent timeouts, or the red lines connection error in ftpd).
Let me repeat that. MAKE SURE, that you have a proxy active that blocks Nintendos web access, connect to wifi manually, preferably go to the proxies landing page, hit home, make sure, that you are connected with at least some black bars.
How reliable is it? Completely. I transfered 4 games over just yesterday ranging fro 4-6 GB. Make sure sleep mode doesnt trigger though. And once more, because I know my clientel, use m4xw' build.
Also, in my case - the switch eventually drops this connection on its own. But probably only once it goes into standby - havent really monitored it. All I know is, that this is the way I use to get a reliable ftpd connection up all the time, everytime. For prolonged periods if needed.