Правильна ли реализация АПИ: new Car().Run(100)?
Я бы переписал этот код так:
public abstract class Transport {
    public int MaxSpeed { get; private set; }

    public Transport(int maxSpeed) {
        MaxSpeed = maxSpeed;
    }

    public string Run(int speed)
        => $"Скорость движения транспорта {(speed <= MaxSpeed ? "в пределах нормы" : "выше максимальной")}";
}

public class Car : Transport {
    public Car() : base(300) {}
}

public class Bike : Transport {
    public Bike() : base(40) {}
}
Ну а в чём вопрос-то? Нет никакого правильного или неправильного. Оно работает или нет. А если работает то насколько эффективно (критерии эффективности не прилогаются).
Если это вся задача, то раскручивание классов это оверхед по коду.
enum Transport
{
    Car,
    Byke
}

static void Main(string[] args)
{
    var maxSpeed = new Dictionary<Transport, int>()
    {
        { Transport.Car, 300 },
        { Transport.Byke, 40 }
    };

    int testSpeed = 100;
    string test = maxSpeed[Transport.Car] <= testSpeed ? "Скорость движения транспорта в пределах нормы\n" : "Скорость движения транспорта выше максимальной\n";
}