Ride-sharing services have attracted significant interest due to overcrowding, limited energy resources, and environmental concerns. This study proposes a mathematical programming model that integrates user preferences into the ride-sharing problem with transfer. Passenger transfer in ride-sharing problems addresses the limitations of the matching process, especially in less-populated areas. It allows passengers to be dropped off at meeting points and continue with another driver. Moreover, considering user preferences in ride-sharing systems is crucial for enhancing efficiency and user satisfaction. Accordingly, we propose a Preference-Driven Matching Algorithm for the matching process. Our proposed algorithm captures user preferences and provides potential matches. In addition, we introduce an Iterative Enhance-and-Optimize Algorithm capable of producing high-quality solutions within short computational times. We evaluate the efficiency of these approaches across various instances, focusing on real-scale scenarios. Based on the results, the model with preferences demonstrates effective performance compared to other methods. Our findings underscore the importance of user preferences in optimizing ride-sharing problems and highlight the trade-off between efficiency and user satisfaction. By incorporating user preferences, our approach results in higher user satisfaction, a more responsive and efficient system with reduced response times, and increased demand and revenue by servicing more users.