Dynamic Service Function Chaining (SFC) is a technique that facilitates the enforcement of advanced services and differentiated traffic forwarding policies. It dynamically steers the traffic through an ordered list of Service Functions (SFs). Enabling SFC capabilities in the context of a Software Defined Networking (SDN) architecture is promising, as it takes advantage of the SDN flexibility and automation abilities to structure service chains and improve the delivery time. However, the delivery time depends also on the traffic steering techniques used by an SFC solution. This paper provides a closer look at the current SDN architectures for SFC and provides an analysis of traffic steering techniques used by the current SDN-based SFC approaches. This study presents a comprehensive analysis of these approaches using efficiency criteria. It concludes that the studied solutions are not efficient enough to be deployed in real-life networks, principally due to scalability and flexibility limitations. Accordingly, the paper identifies relevant research challenges.