Using a KOMA-Script class like scrartcl
, which is an enhanced drop-in replacement for the standard class article
, you can use the build in font element interface. There are two commands \setkomafont{element}{font commands}
and \addtokomafont{element}{font commands}
to either set or extend font settings for an element. An element can be, i.e., a section level like, part
, section
, subsection
, subsubsection
, paragraph
or subparagraph
.
With this you need only the wanted font and either a font support package or lualatex
or xelatex
with package fontspec
and a color package, either color
or xcolor
. You do not need and should not use a package to redefine the section commands.
% Use lualatex or xelatex for this example
\documentclass[12pt]{scrartcl}
\usepackage{fontspec}
\usepackage[svgnames]{xcolor}
\defaultfontfeatures{Ligatures=TeX}
% Set sans serif font to Calibri
\setsansfont{Calibri}
% Set serifed font to Cambria
\setmainfont{Cambria}
% Define a new fontfamily for the subsubsection font
% Don't use \fontspec directly to change the font
\newfontfamily\subsubsectionfont[Color=LightBlue]{TeX Gyre Termes}
\addtokomafont{section}{\color{DarkBlue}}
\addtokomafont{subsection}{\color{MediumBlue}}
\addtokomafont{subsubsection}{\normalfont\itshape\subsubsectionfont}
\begin{document}
\section{A section}
This is some text.
\subsection{A subsection}
\subsubsection{A subsubsection}
\end{document}

For more information about available elements see the KOMA-Script manual, scrguien.pdf (English) or scrguide.pdf (German).
BTW: I would not recommend to mix up different roman fonts like I've done using both, Cambria and TeX Gyre Termes.