The real challenge of course is the parallelization itself. Parallelizing complex algorithms requires a detailed insight into all the dependencies, a complex task even for the experts. Add to this significant amounts of legacy code, written by engineers no longer with the company and increasing amounts of open source software. Like legacy code, there is not a lot of familiarity with the "inner life" of these parts.
Users will be happy with the increased performance but will not accept regression. That will make this shift to manycore a very complex and challenging endeavour.