Your analysis is correct you can either

1- Increase the number of partitions and perform smaller purges
I.e.: I don't know your partitioning strategy but, imagine your current partitoning strategy is by "month". If you can partition your table by "week" you will end doing four purge processes instead of one -for the same amount of data- but, these smaller purge processes will work faster.

2- You might want to analyze if some of your Global Indexes can be partitioned alognside with the table.
For each global index you bring down you are going to get immediate performance improvement during purging process.