It is very tempting to design asynchronous integrated circuits. The other answers already cover many reasons to think twice before doing it. Here is one more:
IC development is not finished with the design. Verification and test are equally important. Not only the design tools are very advanced for synchronous circuits, but it is the same with simulation tools and test equipment.
It is not sufficient to have the circuits working at lab conditions. They need to be robust with respect to the operating voltage (V) range, the operating temperature (T) range, and the variation due to the manufacturing process (P). For synchronous logic this can be guaranteed with the help of static timing analysis. The circuit is broken down to all timing paths, from flip-flop to flip-flop. Setup and hold times are checked for every single timing path, and for different combinations of P, T, and V. These PTV combinations are the so called simulation corners.
A similar verification could be done for asynchronous circuits, but it is much more difficult and much less supported by the design tools. It also restricts the designer to asynchronous constructs that actually can be verified. There is no reliable verification for arbitrary asynchronous circuits.
Similar difficulties are there when it comes to testing the hardware. Testing synchronous logic is fully supported by testing standards and equipment. Testing asynchronous circuits not only is more complicated, but because of the lack of timing abstraction, it is not even sufficient to prove that the circuit will work for all PTV corners. The circuit could fail due to race conditions at some PTV combination, that is not covered by the corners.
IC designers have not given up the asynchronous paradigm, but asynchronous logic comes with heavy disadvantages during verification and validation. In an industrial context, asynchronous IC design needs to be restricted to construct that can be proven to work over the whole parameter space of process variation, as well as the operating ranges for temperature and voltage.
The so called "Locally synchronous globally asynchronous" design is one way to get more benefits and less disadvantages of both timing paradigms.