What Basanta showed you is the correct way to assign a font family for all headings. Specifically, it will apply to headlines in Classic Elements, entry title, widget titles and all plain headline tags like
For V2 elements, you will need first to setup a Preset Template or default element setting so that when you add a V2 element, it will automatically use your defaults including the font family. To do that:
1. Add an element to a page and configure its settings including the Font Family.
2. Then, save the element configuration as a Preset.
3. After that, under the builder’s main manu, go to Templates
4. Inside templates, click on the gear or cog icon in the lower left corner and choose Template Manager. In there, you can select the preset you’ve just made for the element and that will be used next time you add an element.
For complete details, please see https://theme.co/apex/forum/t/template-manager/20364
The only time you will want to use custom CSS for the headings is if you need to override the predefined heading font sizes because that is not offered in Theme Options. As for V2 elements, defining a default still applies.