Here is what I do.
- Make cubeshape on both sets of pieces - don't try to do them both at once or you'll get confused, just do one and then the other.
- Solve the rest of the outer layer. You can fully see what all the pieces are, so this works just like a normal square-1.
- For the inner layer, use the outer layer corners as a guideline to solve corners. To start off you could just intuitively build one layer of corners, and then solve the other with an adjacent or opposite corner swap.
- Solve the inner layers' edges. This is pretty tricky. You can probably do most of it using the adjacent/adjacent algorithm. If you end up with only two edges swapped at the end, or you need to move pieces between layers, the following algorithm (UB -> UF -> DF edge cycle) is great:
/ (3,0) / (0,3) / (1,0) / (0,-1) / (0,1) / (-1,-3) / (-3,0) /
Remember that you can't tell whether the inner edges belong to the top or bottom layer, so some tricky situations will almost always arise.