bitcoinj in git master supports P2SH (at least for most usages you would be interested in). What exactly do you want to do?
My plan is to develop a mini-wallet that can be used for the sole purpose of notarized transactions. The idea is that buyer, seller and notary would use this mini-wallet to create three new public private key pairs. Then they would use some feature of this wallet to securely exchange their public keys. The risk here is that somebody tries to be an impostor (seller faking being the notary as well...etc). The buyer would then create a multi signature address and transfer the bitcoins into it. The transaction would then be broadcast to the network. The seller and notary could then verify that there is indeed a multisigaddress with the correct redeemScript. Finally two of the three will decide to release the funds into some random address. Either of the three will get their mini-wallet populated with the original amount of funds and if they are wise they would put those funds into a more secure wallet.
My problem is that for this wallet to make sense it should not require a local blockchain. So it would either work like Electrum or it would have SPV functionality like bitcoinj.
I was actually giving a look at bitcoinj but this tidbit under Limitations put me off:
P2SH (pay to script hash) is not supported by the wallet. Such transactions will be ignored. Use regular outputs if you want your payments to be noticed by bitcoinj wallets. P2SH is processed correctly by full verification mode.
I would like to know if my vision is possible using bitcoinj from the man himself if you please.