I think READSIZE=20000000 is killing the performance.

For direct load option, I use the following three parameters carefully.
streamsize=1048576 readsize=1048576 columnarrayrows=8000

Those 3 values are good for my system. They may not be good for your environment.

You need to find out after experimenting with many values.

But one thing you must remember:
You must ensure that the loader process seemlessly reads records and writes them into table blocks. Since, the number of columns are more than 300, I recommend to a low value for columnarrayrows, (may be 1000).

When you are in doubt, decrease the values.

Tamil