I can't remember exactly, but I think the way I solved the middle layer was by doing things like L2, U2, R, U2, L2. I think this would work if you can position the piece on the right on the bottom face so that if you were do R the piece would be in the correct position on the front face (of course this would mess up the top face). So, you would do L2, U2, R, U2, L2 and it wouldn't mess up any face. I also think I was able to solve the middle edge pieces by doing opposites one after another...that is, looking down on the middle layer from above, I solved the bottom right edge piece then top left, then bottom left then top right. The last piece was harder to get in the right spot without messing the others up and to tell you the truth, I got it by accident :X!
I hope this helps!