I have done something like this in my project, see if it is use-full to you
Make Two Picking types one is for Intra-WH-OUT and other one is Intra-WH-IN
Intra-WH-OUT - They know the some of the quantity to out from warehouse to warehouse transfer not for delivery.
set source_location(main stock) and destination location(send virtual location )
Intra-WH-IN - They know the some of the quantity is ready to receive from warehouse not for any received from vendor.
set source_location(receive virtual location ) and destination location(main stock)
and on Intra-WH-OUT creation make chain of stock move to Intra-WH-IN stock move.
This should be in done in your both warehouse if you want Both-Way transfer.