Peer-to-Peer based Video-on-Demand (P2P-VoD) applications are becoming very popular for scalable video distribution in both academic and commercial environments. Asynchronous arrival of peers who wish to watch videos from beginning, as well as willing to avail interactive services like jump, rewind, fast-forward etc. in these systems makes it challenging to design and deploy them. A lot of research has already been done on the architectural design issues of P2P-VoD systems. In this paper, we present a survey on approaches which address some existing design issues like alleviating the server stress due to asynchrony, building efficient P2P-VoD applications with interactive services and handling peer churn as well as the time-varying nature of network. In addition to these issues, we also discuss the challenges in deployment of P2P-based VoD systems with additional user experience features like on-demand watching of segmented scenes, on-the-fly creation of playlists etc. over best-effort Internet.