Yes, you could promote affiliate programs on social media or with email or even paid ads. You would need to carefully check the terms (or ask affiliate support) for each program to make sure that they allow for such marketing.
The best way to promote affiliate offers besides on your own website might be through email marketing if you have a big list of subscribers.
I am not an expert on this topic so I can’t really answer it that good. I have always promoted affiliate programs with websites that get free traffic from search engines.