There are several factors that make obtaining crystal structures from membrane proteins more difficult. In brief, nearly every stage of obtaining the structure via crystallography is more difficult.
First: protein expression. Large amounts of pure, well-folded protein are required and this is much more difficult to achieve than it is with a soluble protein. Since membrane proteins are bound within a membrane, the mechanisms to translate the peptide into the membrane and to fold the protein in the membrane are different. They may involved folding factors which are only available in a particular compartment of the cell (making bacteria impossible as a system of expression). In high amounts in the cell, their hydrophobicity might tend to result in clumps of unfolded protein instead of gobs of membrane-associated protein.
Next: Purifying the protein is more difficult. The expressing cells are usually broken open in the presence of detergent to get the proteins to float around as individual proteins in detergent micelles. The wrong detergents might break up the membrane protein and it may lose its fold - the concentration of detergent must be carefully managed and kept at optimal levels or the micelles might break up and the protein will be ruined.
Crystallizing the protein is quite a bit more difficult too. Membrane proteins in detergent micelles which may or may not be charged themselves look like oily blobs with hopefully a domain or two of folded proteins sticking out of them. Compared to a soluble protein with a nice ordered surface in every direction instead of a detergent micelle which might undergo a phase change at high concentration or by the addition of a salt or change in pH, membrane proteins take a task that might take thousands of trials and adds new dimensions to worry about.
The proteins are 2D-like, but the crystals still have to be 3D for crystallography to work usually. Protein crystals are small, but those derived from membrane proteins - which tend to organize into planes like the membranes they inhabit - are often thin, which can make them too delicate and small to get a good set of data even from synchrotron beams. As a result, the crystals are commonly too small or thin to use at first, requiring extensive optimization after the first crystal are found.
In a few cases some membrane proteins have been solved with 2D crystals using electron microscopy on crystalline arrays of porins and rhodopsins in membranes. That was a ton of work but they were the first membrane protein structures by years and years.
Not to make all this sound impossible - once you have crystals, they can usually be improved; there are good starting points to crystallization and purification with detergents. It's just that a process which can already take quite a bit of time (years) and can sometimes end in frustration takes even longer and is less certain with a membrane protein.