The main result of the present paper is a Rademacher-type theorem for intrinsic Lipschitz graphs of codimension $k\leq n$ in sub-Riemannian Heisenberg groups $\mathbb H^n$. For the purpose of proving such a result we settle several related questions pertaining both to the theory of intrinsic Lipschitz graphs and to the one of currents. First, we prove an extension result for intrinsic Lipschitz graphs as well as a uniform approximation theorem by means of smooth graphs: these results stem both from a new definition (equivalent to the one introduced by F. Franchi, R. Serapioni and F. Serra Cassano) of intrinsic Lipschitz graphs and are valid for a more general class of intrinsic Lipschitz graphs in Carnot groups. Second, our proof of Rademacher's Theorem heavily uses the language of currents in Heisenberg groups: one key result is, for us, a version of the celebrated Constancy Theorem. Inasmuch as Heisenberg currents are defined in terms of Rumin's complex of differential forms, we also provide a convenient basis of Rumin's spaces. Eventually, we provide some applications of Rademacher's Theorem including a Lusin-type result for intrinsic Lipschitz graphs, the equivalence between $\mathbb H$-rectifiability and ``Lipschitz'' $\mathbb H$-rectifiability, and an area formula for intrinsic Lipschitz graphs in Heisenberg groups.