“Elastique” time stretch algorithm by zplane (0) seems to be a common choice by plug-in companies. Their C++ library is pretty straightforward to use, and most importantly it sounds good.
Generally speaking, phase vocoder (1) algorithms are what you’d want for developing your own pitch shifting algorithm.