For middle edges and middle centers I use essentially the same algorithm, the 12-mover that many people use for megaminx BLD. I hate trying to notate megaminx, but I guess it's something like [Rr L'l' F2' R'r' Ll, U] for middle edges, and [Rr L'l' f2' R'r' Ll, U] for middle centers. It's simple enough to use, set up, and remember that I don't tend to get confused. For wings I use the same thing as for corners, only a layer in: [F r F', U]. All the algorithms are quite comfortable for me; I don't think I can really do much better. Memorization is the worst part, followed by figuring out the setups.
The roughest thing was handling the memorization of center pieces. There just aren't enough fingers to keep track of what pieces you've already solved. I had a terrible time with mismemorizing the centers and having to go back and correct the memorization; if I can get where I don't do that, I think I could shave an hour and a half off just for that. The other bad thing I did was that I picked a bad letter placement for the corner centers. If I change that to be more logical, I think I'd save another half hour on that. So 4 hours seems quite reasonable, assuming I can get better about not making the mistakes memorizing centers.
Still, even that is an awfully long time for a single solve.