Personally I find when I run into an intractable problem, what works for me is to exercise. For me that is riding my bike on quite paths. It sets my mind free and increases blood flow. Fertile ground for solving problems.
But the more I've learned (thus the more complex the block), the less effective this became. I worked on a passion project a few years ago where I was coding between twelve and sixteen hours a day for several months. When I was finally so burned out and weary that nothing worked anymore, I took that as a cue to call it a night. The next morning, almost without fail, I had an elegant solution in mind before I could even make it from bed to keyboard.
My subconscious definitely IS the ultimate problem solver. The form that it takes has evolved with the difficulty of the challenges it has to solve.