The drag and drop and "older version" of it - using arrows:
Drag and drop needs to have well solved interactions (how it behaves and looks like when dragging, how it looks like when you can and can't drop it). This is good thing to do, but only in case if you have a solid library to implement it (true on web, rarely true for desktop app frameworks).
Another option –
I am also thinking whether you really need to have all the options prioritized right at this step or whether doing something like encouraging user to pick the most important only and further in the process the next most important etc. Just a thought, whether it is relevant or not depends a lot on user story.