Почему происходит односторонняя потеря пакетов между двумя пк?
оба делаете mtr (winmtr) чего-нибудь не далекого, пусть и сайт dom.ru

эта утилита делает пинг сразу ко всем промежуточным серверам (включая роутер) ногда сразу видно начиная с какого места начинаются проблемы.

в cmd пинг чего делаете? внешних ip адресов друг друга?
если бы не 
проблем нет если сервер делает любой из насто я бы однозначно указал на твой роутер, но так хз

все же можно провести эксперимент и подключить компьютер напрямую к линии провайдера минуя роутер (ip адрес можно выдать вручную, подсмотрев в админке роутера)
Вы с другом находитесь в одном городе?
Если да, то, по идее, вы находитесь в одной провайдерской сети. Задержки должны быть минимальными при доступе друг к другу.

Сделайте traceroute (tracert/mtr) с обоих компов друг к другу, сравните вывод, посмотрите через какие адреса проходит трафик в обоих случаях. Где происходят самые большие задержки. В нормальном состоянии трафик должен идти через одни и те же промежуточные хосты и даже может не выходить за пределы провайдерской сети. Если набор промежуточных хостов сильно различается, то возможно провайдер криво маршрутизирует трафик и он в одном из случае идет по какому-то не оптимальному маршруту. Если на одном из узлов с одной стороны задержки приемлемые, а с другой высокие - явно что-то не то с этим узлом.
Можно звонить в поддержку и попытаться объяснить ситуацию, давя на проведенное вами исследование. Как минимум пожаловаться на неадекватные задержки внутри провайдерской сети.

Для большей достоверности traceroute стоит запустить несколько раз, получить несколько показаний тестов и усреднить их.