Виртуальная машина - единственный путь. Вы не хотите выделять всю машину для разработки (если у вас нет дополнений), а разработка на вашем производственном сервере просто напрашивается на неприятности. Я предпочитаю VMWare, но есть и другие, которые работают так же хорошо.
Трассировка работает хорошо, так как обычная отладка на самом деле не вариант.
Что еще я делаю, это пытаюсь разработать всю логику (вещи, не зависящие от SharePoint) только на обычном сайте asp.net, а затем интегрировать ее в SharePoint после того, как протестировано.
Надеюсь, что это имеет смысл.
Вы говорите о разработке веб-частей? Пользовательские страницы? Что-то еще?