Assuming neither one charges a fee and you are talking about automated non-cash, non-check transactions:
Withdrawal is slightly better if you are 100% sure you have the money (or better yet, twice the money) to cover it. It puts more incentive on the bank that is responsible for the act to do it correctly, because they will then be the bank holding the money. It also creates an added check because there is no possibility of having an error in transfer information result in sending your money to the wrong account. (This is unlikely anyway, but not impossible depending on the bank and interface).
Deposit may be slightly better if you are not, or if you are concerned about technical foul-ups at the bank. Depending on the bank, a deposit with insufficient funds may be cancelled rather than going through and then being cancelled, which could result in various banking fees (returned item fees, overdraft fees, etc...).
If there is a technical foul-up during a withdrawal, you run the risk of having banks get confused--I know of a case where it took a major bank months to fix a withdrawal transaction that was denied the second time when they activated it twice, but the account balance mistakenly showed an extra thousand dollars for the duration.