The cytochrome P450 enzymes (P450s or CYPs) form a large family of heme proteins involved in drug metabolism and in the biosynthesis of steroids, lipids, vitamins and natural products. Their remarkable ability to catalyze the insertion of oxygen into non-activated C-H bonds has attracted the interest of chemists for several decades. Very few chemical methods exist that directly hydroxylate aliphatic or aromatic C-H bonds, and most of them are not selective or of limited scope. Biocatalysts such as P450s represent a promising alternative: however, their applications have been limited by substrate specificity, low activity, poor stability and the need for cofactors. This review covers the attempts to overcome these limitations using approaches such as mutagenesis, chemical modifications, conditions engineering and immobilization.