This is doable without the tools people are talking about here but you will have some time while the domain is not in "old" tenant and still not in the new tenant and it can be a very time consuming ordeal (PSTs, etc).
You could setup a mail bagging service (point your MX) while you make the changes.
redirect MX to mail bagging service and "pause it" (ie dont let it deliver to o365 yet)
export PSTs
take the domain off every user/group (yep, its a pain)
remove the domain from old o365 tenant
add it to the new tenant and setup users
point mail bagging service to your new MX and let er rip
obviously this is the rough and painful way and there are a bunch of details along the way to consider