"At" suggests that the expert is very skilled at doing a specific activity. "In/on" is commonly used when someone knows a lot about a particular subject.
Both are correct. However, there is a subtle difference in meaning and usage. "On" suggests that the emphasis is on the specific subject. "In" makes the emphasis on the person who has expertise.