We examine the effect of viscous forces on the displacement of one fluid by a second, immiscible fluid along parallel layers of contrasting porosity, absolute permeability and relative permeability. Flow is characterized using five dimensionless numbers and the dimensionless storage efficiency, so results are directly applicable, regardless of scale, to geologic carbon storage. The storage efficiency is numerically equivalent to the recovery efficiency, applicable to hydrocarbon production. We quantify the shock-front velocities at the leading edge of the displacing phase using asymptotic flow solutions obtained in the limits of no crossflow and equilibrium crossflow. The shock-front velocities can be used to identify a fast layer and a slow layer, although in some cases the shock-front velocities are identical even though the layers have contrasting properties. Three crossflow regimes are identified and defined with respect to the fast and slow shock-front mobility ratios, using both theoretical predictions and confirmation from numerical flow simulations. Previous studies have identified only two crossflow regimes. Contrasts in porosity and relative permeability exert a significant influence on contrasts in the shock-front velocities and on storage efficiency, in addition to previously examined contrasts in absolute permeability. Previous studies concluded that the maximum storage efficiency is obtained for unit permeability ratio; this is true only if there are no contrasts in porosity and relative permeability. The impact of crossflow on storage efficiency depends on the mobility ratio evaluated across the fast shock-front and on the time at which the efficiency is measured.