One reason is simply that this is a very open ended feature Moving to another class that already exists? Moving to a new class? First you have to select the target class, which can be fun on its own.
Then what about moving to a derived or parent class?
You can get close by using VA Outline. Select the function or functions in VA Outline that you want to move and then cut them. Now swap to the target class / file and simply use paste.
Normally this will only move the implementation or declarations, since VA Outline only picks up the function from the current file, but if you moved the implementations you can then use Create Declaration to create the missing declarations.
You can concentrate on moving (or copying) the function to an existing class. The target class is a simply a list of existing classes or maybe even a drag&drop feature? (drag function to another class, copy/move menu item, drop)
I indeed use VAoutline for this task, but i really think this feature will come in very handy. Maybe an extra function "move back to header file" to make the function-implementation class-independent?
We are considering adding a feature to move the implementation to the header file:
which might help a bit.
Moving a function from one class to another automatically though... First up selecting the right target class needs to limit the selection to the correct language. As soon as your solution uses more than one programming language this opens up some "interesting" problems.
Then you have the whole question of member variables. Quite often the required member variables will not exist in the destination class. Passing them all as parameters (like Extract Method) is unlikely to be what people want, but mapping member variables in one class to member variables in a second class is a non trivial task. I am tempted to say a nightmare task.