Is there currently any way to do confidential transactions with Ethereum for a custom token?
If not, is there any work/research being done on how this might be possible?
In the future, you will be able to use ring signatures to blind the sender. Blinding the balance can be done as it is in Blockstream's Elements sidechains, but would probably be very expensive from the EVM. Perhaps that kind of capacity will also be added when ring signatures are. In the meantime, state channels are the best option.
State Channels will allow privacy for tokens. Basically, they allow you to transact off-chain and eventually settle back the state of the transactions to the chain. The raiden.network is Ethereums work in progress to have a state channel network.