The first thing would do is to get a basic idea of where the problem is. I would test a simple package that reads one file and shows the output in a data viewer. How long does that take?
You could see if using the script component works for you. Check out https://www.sqlmovers.com/ssis-flexible-unpivot/.