Using the notation, (x = black queen, o = white queen, - = empty space), I came up with the following series of steps:
Starting Position:
x x x -
x x - o
x - o o
- o o o
1:
x x - x
x x - o
x - o o
- o o o
2:
x x o x
x x - o
x - - o
- o o o
3:
x x o x
x x - o
- - - o
x o o o
4:
x x o x
x x - o
- - o o
x o o -
5:
x x o x
x x - o
o - - o
x o o -
6:
x x o x
x - - o
o - - o
x o o x
7:
x x o x
x - o o
o - - o
x o - x
8:
x x o x
- - o o
o - - o
x o x x
9:
- x o x
- x o o
o - - o
x o x x
10:
o x o x
- x o o
- - - o
x o x x
11:
o x o x
- x o o
o - - -
x o x x
12:
o x o x
- - o o
o - x -
x o x x
13:
o x o x
o - - o
o - x -
x o x x
14:
o - o x
o - - o
o - x x
x o x x
15:
o o o x
o - - o
o - x x
x - x x
16:
o o o x
o o - -
o - x x
x - x x
17:
o o o -
o o - x
o - x x
x - x x
18:
o o o -
o o - x
o - x x
- x x x
This is also the solution with the least number of steps.
To understand why, consider a 2 x 2 board with 1 black queen and 1 white queen in opposite corners.
x -
- o
To move these queens into opposite corners, you will need to:
1) Move one queen into an unoccupied square.
2) Move the other queen into the recently vacated square.
3) Move the first queen into the recently vacated square by the other queen.
In essence, you need 3 moves per pair of queen. For 6 pairs of queen, you need 6 x 3 = 18 moves.
EDIT: As noted by @Bass below, the above explanation does not always hold true. So, there could theoretically be a lower limit than the one I explained.