The difficulty of reading haplotypes 'directly' lies in the difficulty of reading any long sequence of DNA, and this is for technical reasons.
Short DNA fragments are sequenced using a variety of methods. Gel electrophoresis can pull these fragments apart by length, but all the fragments have to be relatively close in size to get the accuracy needed to tell fragments that differ by one base pair apart. It's easy to separate a 16-bp segment from a 17bp segment easily, but it's much harder with a 516bp segment and a 517bp segment. Modern sequencing can sequence reads up to about 5kbp in length at a time. The 'reads' are then reassembled.
There are next-generation methods(pyrosequencing, etc) that can read a long dna molecule one base at a time, but for practical reasons sequencing an entire chromosome this way is cost and time prohibitive. As a result, there are always going to be fragments that you need to reassemble computationally, no matter how the sequencing is done.