Первый, на мой взгляд, изящнее.
В интерфейсе имеет смысл указывать только общие методы (postMessage, inviteFriends, showPayment). Как они называются в реальной соц сети нам без разницы, это уже в реализации каждого класса будете закладывать.
Но если в какой-то соц сети есть уникальный метод, который необходимо выполнить, то зная что у вас

Код AS3:
if(this.socialType == 'vk')
{
var socialManager:ISocialManager = new VKManager();
}
то создав некий уникальный метод в VKManager вы всегда можете обратиться к нему:

Код AS3:
if(this.socialType == 'vk') // или вообще if (socialManager is VKManager)
{
VKManager(socialManager).uniqueMethod(); // ну или (socialManager as VKManager).uniqueMethod()
}