I did figure this out with a lot of digging.
My solution was to go to disk settings and adjust the values for:
Tunable(md_num_stripes) - Played around a lot but set it at 131072. Make sure you have enough RAM once you start going higher.
Tunable(md_queue_limit) - Sat it at 256. Any higher and my rate dropped drastically.
Tunable(md_sync_limit) - 20.
I read that really any higher than these numbers can improve the quality of the rebuild. With these numbers I jumped from 5-10mb/s up to 110-120mb/s.