Someone brought this up on the old board once.
It's clear to me the transfer of characters and items between shards is too big a deal to make work in a quick, easy, moongate-like way. The underlying process involves creating (duplicating, really) items from the old shard onto the new, and a new char is created in the likeness of the original char. At the end of this process, the char and items are probably deleted off of the old shard or, at a minimum, become completely inaccessible to the player.
Every single item on a shard has a unique, number-like identifier called an Item ID. If you have two pieces of meat in your backpack, each one has its own, unique item ID. Each shard has it's own set of item IDs and no two items on that shard have the same one. New Item IDs are made up each time a new item is created, and when an item is deleted (you feed that piece of meat to your pet), that Item ID disappears out of the system (at least for a while, until I presume it's assigned to some newly-created item elsewhere).
When an item or a char transfers shards, all of the Item IDs associated with the 'new' items are, of course, based in the system on the new shard. You'll note that pet balls have to be reset if you transfer one along with it's corresponding pet - this is because the ItemID of the pet has changed and the one stored in the ball is the old one, so it can't work right any more.
All of this transfer crap is a big deal to make work right. They've clearly coded powerful safeguards into the process because, if the process was written badly and a failure of some sort happened, you could end up with the char and all his stuff simply gone.
I don't believe there's a way this process can happen safely in a snap, like how fast people enter and exit the moongates. They have to be careful as heck with the process, and as it is now it takes a while, maybe up to an hour if I correctly recall what transfer tokens tell you when you use them.
A different thing though - - If several shards were, on both a hardware and software level, combined into one box, then it would be possible to do between those connected shards. If done like that, it would be one server system masquerading as two UO servers, and it would probably set up to maintain Item IDs that do not cause conflicts between the two hosted shards (one system of item IDs between the two hosted shards). If the Item ID system was set up that way, moongate-like transfer possibilities would come naturally and safely.
There's a number of ways they could screw around with that if they really wanted to, but it would be a ton of work no matter what. I don't know how many Item IDs their system can handle so things could start to get weird if you really tried to combine 2 shards with all of those items. They might have to redo the whole Item ID system to account for double the items (ICKY!).
The difficulties involved with combining shards are kinda bleh...nobody's going to want to do that job without a very compelling reason (such as a serious requirement from somewhere up above to physically shut down one shard and move its players to a different one).