That can be achieved with a little bit of code. I have prepared an application that demonstrates how this can be done.
First you have to take care of the default logic that is executed when key is pressed - by default when the user uses the arrow keys the current and selected items are changed. To change that you will have to create a custom control that inherits form GridViewItemsControl and override the OnKeyDown method. Once you do that the grid will not execute any action when the arrow keys are pressed.
The next thing to do is to subscribe to the KeyDown event of RadGridView and execute your custom logic when the event is raised. When the event is fired you remove the selected item from the data source and reinsert it at its new position. You have to use ObservableCollection as ItemsSource so that the grid can refresh its contents when data items change places.