Is there any differences in terms of usages and meanings? Thanks!
Yes, there is. They are usually not interchangeable.
취향 (취: taste, preference, 향: direction): taste or preference (on anything).
e.g. 음악 취향 (musical taste/preference), 음식 취향 (food taste).
식성 (식: eating, food, 성: characteristics): taste or preference on foods.
e.g. 식성이 좋다 (eats well without being choosy). 식성이 까다롭다 (be particular about food).
입맛 (입: mouth, 맛: taste, flavor): 1) taste on foods, 2) appetite for food at a given moment.
e.g. 입맛이 까다롭다 (be particular about foods), 입맛이 안 난다 / 없다 (have no appetite).
취향 can be a taste on anything, so 음식 is needed to make it a taste on foods.
식성 is general food preferences of a person or animal. It has a narrow sense and is never used to mean a sense of craving at a particular time as 입맛 does.
입맛 can mean either general tastes on food or an appetite one feels at a given time. Its meaning has been extended to preferences on other things as well, as in 입맛대로 / 입맛에 맞게 (to one's taste / as one likes) used for things unrelated to gastronomy.
So you could even say something like
우파든 좌파든 모든 사실을 (자기들) 입맛에 맞게 왜곡한다 = Both the right and the left distort all facts to fit their (own) preferences.